From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web11.2467.1629575786750862189 for ; Sat, 21 Aug 2021 12:56:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@posteo.de header.s=2017 header.b=HRs3FPQP; spf=pass (domain: posteo.de, ip: 185.67.36.65, mailfrom: mhaeuser@posteo.de) Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 372A9240026 for ; Sat, 21 Aug 2021 21:56:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1629575785; bh=khDJ6fRJ2wtZYp3/PBvWdy3ev0W9FdVkFYj3IBIq0pw=; h=From:To:Cc:Subject:Date:From; b=HRs3FPQPjT1DzZ8Q8XPfaXLVa9xcwBXDt0FBNNGHwwyrD+brhBRM3T/TaiafCoHGL 4AlszmwpgPOk6vbSuGIZxWV5P7GfLfwsalv8mN5jbbe8vgldanLrZLyOuWwsoHXTRe XDKxpUSHCN/tTYiuTycZ9/1OYshlHgI64OjG6zPgzVKiYpI94xXk9WUcl2H90QvcOl Sus0KbX+luNjT1eAIl3zqqEcW41KRYTdxs4eLnDPq82Lz2ogP3jWXIq8eq6c8GHJ4b s3GPy9NdcF7JH3bp7K/Rtjrph96JAIHRBbAOAYB3DherPdADt5RX5K85uOh9LIUmqA qZ2cnzp2tVwEA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4GsTlr5BjSz9rxM; Sat, 21 Aug 2021 21:56:24 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Eric Dong , Ray Ni , Vitaly Cheptsov Subject: [PATCH 5/5] MdeModulePkg/PiSmmCore: Disallow stripped Image relocations Date: Sat, 21 Aug 2021 19:55:53 +0000 Message-Id: <1062a81b27790e4a178d50c95a408410b9d2ec9f.1629575593.git.mhaeuser@posteo.de> In-Reply-To: <6baa44c6ee3ead5e4ffdefd5fdd3961323c323d0.1629575593.git.mhaeuser@posteo.de> References: <6baa44c6ee3ead5e4ffdefd5fdd3961323c323d0.1629575593.git.mhaeuser@posteo.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable The SMM stack does not support loading Images to preferred addresses in any way. Add checks that Image relocations have not been stripped. Cc: Jian J Wang Cc: Hao A Wu Cc: Eric Dong Cc: Ray Ni Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- MdeModulePkg/Core/PiSmmCore/Dispatcher.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/MdeModulePkg/Core/PiSmmCore/Dispatcher.c b/MdeModulePkg/Core/P= iSmmCore/Dispatcher.c index 76ee9e0b89cc..69ea61e13434 100644 --- a/MdeModulePkg/Core/PiSmmCore/Dispatcher.c +++ b/MdeModulePkg/Core/PiSmmCore/Dispatcher.c @@ -447,6 +447,18 @@ SmmLoadImage ( }=0D return Status;=0D }=0D +=0D + //=0D + // Stripped Image relocations are not supported for both fixed-address a= nd=0D + // dynamic loading.=0D + //=0D + if (ImageContext.RelocationsStripped) {=0D + if (Buffer !=3D NULL) {=0D + gBS->FreePool (Buffer);=0D + }=0D + return EFI_UNSUPPORTED;=0D + }=0D +=0D //=0D // if Loading module at Fixed Address feature is enabled, then cut out = a memory range started from TESG BASE=0D // to hold the Smm driver code=0D --=20 2.31.1