diff --git a/reactos/boot/freeldr/freeldr/windows/i386/wlmemory.c b/reactos/boot/freeldr/freeldr/windows/i386/wlmemory.c index 96a1d84349f..5bbec882f83 100644 --- a/reactos/boot/freeldr/freeldr/windows/i386/wlmemory.c +++ b/reactos/boot/freeldr/freeldr/windows/i386/wlmemory.c @@ -208,6 +208,10 @@ MempUnmapPage(ULONG Page) PHARDWARE_PTE KernelPT; ULONG Entry = (Page >> 10) + (KSEG0_BASE >> 22); + /* Don't unmap hyperspace or HAL entries */ + if (Entry == HYPER_SPACE_ENTRY || Entry == 1023) + return; + if (PDE[Entry].Valid) { KernelPT = (PHARDWARE_PTE)(PDE[Entry].PageFrameNumber << MM_PAGE_SHIFT);