From 9443da9817c1153b8d4472b8d45cb6bfac95aab1 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Fri, 5 Jan 2024 15:10:34 +0100 Subject: [PATCH] Always check module mapping status and optionally map xtldr code --- xtldr/modules/xtos_o/amd64/memory.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/xtldr/modules/xtos_o/amd64/memory.c b/xtldr/modules/xtos_o/amd64/memory.c index cc7a16b..807834b 100644 --- a/xtldr/modules/xtos_o/amd64/memory.c +++ b/xtldr/modules/xtos_o/amd64/memory.c @@ -63,7 +63,7 @@ XtEnablePaging(IN PLIST_ENTRY MemoryMappings, ModuleInfo = CONTAIN_RECORD(ModulesListEntry, XTBL_MODULE_INFO, Flink); /* Map module code */ - XtAddVirtualMemoryMapping(MemoryMappings, ModuleInfo->ModuleBase, ModuleInfo->ModuleBase, + Status = XtAddVirtualMemoryMapping(MemoryMappings, ModuleInfo->ModuleBase, ModuleInfo->ModuleBase, EFI_SIZE_TO_PAGES(ModuleInfo->ModuleSize), LoaderFirmwareTemporary); if(Status != STATUS_EFI_SUCCESS) @@ -77,13 +77,8 @@ XtEnablePaging(IN PLIST_ENTRY MemoryMappings, } /* Map XTLDR code */ - Status = XtAddVirtualMemoryMapping(MemoryMappings, ImageProtocol->ImageBase, ImageProtocol->ImageBase, + XtAddVirtualMemoryMapping(MemoryMappings, ImageProtocol->ImageBase, ImageProtocol->ImageBase, EFI_SIZE_TO_PAGES(ImageProtocol->ImageSize), LoaderFirmwareTemporary); - if(Status != STATUS_EFI_SUCCESS) - { - /* Mapping the boot loader code failed */ - return Status; - } /* Add page mapping itself to memory mapping */ Status = XtAddVirtualMemoryMapping(MemoryMappings, NULL, *PtePointer, 1, LoaderMemoryData);