ASSERT() is not proper handling of allocation failures, it gets compiled
out on RELEASE builds.  Print a message and enter dead loop instead.
Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
---
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c 
b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
index 55a9f79da8eb..2e41df1f1074 100644
--- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
@@ -879,6 +879,12 @@ PiCpuSmmEntry (
     //
     BufferPages = EFI_SIZE_TO_PAGES (SIZE_32KB + TileSize * (mMaxNumberOfCpus 
- 1));
     Buffer      = AllocateAlignedCodePages (BufferPages, SIZE_4KB);
+    if (!Buffer) {
+      DEBUG ((DEBUG_ERROR, "Failed to allocate %d pages.\n", BufferPages));
+      CpuDeadLoop ();
+      return EFI_OUT_OF_RESOURCES;
+    }
+
     ASSERT (Buffer != NULL);
     DEBUG ((DEBUG_INFO, "New Allcoated SMRAM SaveState Buffer (0x%08x, 
0x%08x)\n", Buffer, EFI_PAGES_TO_SIZE (BufferPages)));
   }
-- 
2.39.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101000): https://edk2.groups.io/g/devel/message/101000
Mute This Topic: https://groups.io/mt/97518449/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to