From 58673b0c0c4c62b432702ddf2be257e344fd2cc7 Mon Sep 17 00:00:00 2001 From: vit9696 Date: Sat, 4 Apr 2020 12:49:07 +0300 Subject: [PATCH] MmapDump: Fix OpenRuntime detect and print shrinked MMAP in any case --- Application/MmapDump/MmapDump.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Application/MmapDump/MmapDump.c b/Application/MmapDump/MmapDump.c index 2175fa28..4f49f711 100644 --- a/Application/MmapDump/MmapDump.c +++ b/Application/MmapDump/MmapDump.c @@ -50,7 +50,7 @@ UefiMain ( (UINT32) Address, Status )); - } else if (FwRuntime->Revision != OC_FIRMWARE_RUNTIME_REVISION) { + } else if (!EFI_ERROR (Status) && FwRuntime->Revision != OC_FIRMWARE_RUNTIME_REVISION) { DEBUG (( DEBUG_WARN, "MMDD: OpenRuntime has unexpected revision r%u instead of r%u\n", @@ -84,17 +84,17 @@ UefiMain ( OcSortMemoryMap (MemoryMapSize, MemoryMap, DescriptorSize); DEBUG ((DEBUG_INFO, "MMDD: Dumping the original memory map\n")); OcPrintMemoryMap (MemoryMapSize, MemoryMap, DescriptorSize); - DEBUG ((DEBUG_INFO, "MMDD: Dumping patched memory map\n")); OcUpdateAttributes (Address, EfiRuntimeServicesCode, EFI_MEMORY_RO, EFI_MEMORY_XP); Status = OcSplitMemoryMapByAttributes (OriginalSize, &MemoryMapSize, MemoryMap, DescriptorSize); if (!EFI_ERROR (Status)) { - OcPrintMemoryMap (MemoryMapSize, MemoryMap, DescriptorSize); - DEBUG ((DEBUG_INFO, "MMDD: Dumping shrinked memory map\n")); - OcShrinkMemoryMap (&MemoryMapSize, MemoryMap, DescriptorSize); + DEBUG ((DEBUG_INFO, "MMDD: Dumping patched memory map\n")); OcPrintMemoryMap (MemoryMapSize, MemoryMap, DescriptorSize); } else { DEBUG ((DEBUG_INFO, "MMDD: Cannot patch memory map - %r\n", Status)); } + DEBUG ((DEBUG_INFO, "MMDD: Dumping shrinked memory map\n")); + OcShrinkMemoryMap (&MemoryMapSize, MemoryMap, DescriptorSize); + OcPrintMemoryMap (MemoryMapSize, MemoryMap, DescriptorSize); FreePool (MemoryMap); } else { DEBUG ((DEBUG_INFO, "MMDD: Unable to obtain memory map\n")); -- GitLab