REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4350
Currently, stack HOB is not created for the stack memory. This causes stack memory to be treated as free memory and any memory allocation which happens at this address causes random memory corruption. Fix this by creating the stack HOB which marks the memory as BS data. Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Andrei Warkentin <andrei.warken...@intel.com> Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Jordan Justen <jordan.l.jus...@intel.com> Cc: Gerd Hoffmann <kra...@redhat.com> Signed-off-by: Sunil V L <suni...@ventanamicro.com> Reported-by: Andrei Warkentin <andrei.warken...@intel.com> Tested-by: Andrei Warkentin <andrei.warken...@intel.com> Reviewed-by: Andrei Warkentin <andrei.warken...@intel.com> --- Changes since V1: 1) Added BZ reference 2) Added edk2-stable202302 in the title to request to catch the stable tag 3) Updated tags OvmfPkg/RiscVVirt/Sec/SecMain.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/OvmfPkg/RiscVVirt/Sec/SecMain.c b/OvmfPkg/RiscVVirt/Sec/SecMain.c index 73b9b21a67ba..adf73f2eb66c 100644 --- a/OvmfPkg/RiscVVirt/Sec/SecMain.c +++ b/OvmfPkg/RiscVVirt/Sec/SecMain.c @@ -55,6 +55,7 @@ SecStartup ( EFI_STATUS Status; UINT64 UefiMemoryBase; UINT64 StackBase; + UINT32 StackSize; // // Report Status Code to indicate entering SEC core @@ -71,9 +72,9 @@ SecStartup ( FirmwareContext.FlattenedDeviceTree = (UINT64)DeviceTreeAddress; SetFirmwareContextPointer (&FirmwareContext); - StackBase = (UINT64)FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + - FixedPcdGet32 (PcdOvmfSecPeiTempRamSize); - UefiMemoryBase = StackBase - SIZE_32MB; + StackBase = (UINT64)FixedPcdGet32 (PcdOvmfSecPeiTempRamBase); + StackSize = FixedPcdGet32 (PcdOvmfSecPeiTempRamSize); + UefiMemoryBase = StackBase + StackSize - SIZE_32MB; // Declare the PI/UEFI memory region HobList = HobConstructor ( @@ -86,6 +87,8 @@ SecStartup ( SecInitializePlatform (); + BuildStackHob (StackBase, StackSize); + // // Process all libraries constructor function linked to SecMain. // -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100501): https://edk2.groups.io/g/devel/message/100501 Mute This Topic: https://groups.io/mt/97222122/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-