From 4fdee56ba35b7d42ed8f729ec60ebbec86adbf5f Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Tue, 20 Jul 2021 12:48:14 +0200 Subject: [PATCH] Prekernel: Make sure to reload CR3 after modifying the page tables --- Kernel/Prekernel/init.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Kernel/Prekernel/init.cpp b/Kernel/Prekernel/init.cpp index d079b2c6615..0ce057f3a5e 100644 --- a/Kernel/Prekernel/init.cpp +++ b/Kernel/Prekernel/init.cpp @@ -179,6 +179,8 @@ extern "C" [[noreturn]] void init() for (FlatPtr vaddr = (FlatPtr)end_of_prekernel_image; vaddr < MAX_KERNEL_SIZE; vaddr += PAGE_SIZE) boot_pd0_pts[vaddr >> 12] = 0; + reload_cr3(); + void (*entry)(BootInfo const&) = (void (*)(BootInfo const&))kernel_elf_header.e_entry; entry(*adjust_by_load_base(&info));