From 36bb04d7926929e804aa15dcf90695f453b78269 Mon Sep 17 00:00:00 2001 From: Liav A Date: Fri, 5 May 2023 23:48:55 +0300 Subject: [PATCH] Kernel/Memory: Fix UNMAP_AFTER_INIT page fault handling This was discovered by me during a work on USB keyboard patches, so it triggered this bug. The printing format for the VirtualAddress part is incorrect, leading to another crash when handling page fault after accessing UNMAP_AFTER_INIT code section. --- Kernel/Memory/MemoryManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Memory/MemoryManager.cpp b/Kernel/Memory/MemoryManager.cpp index 74bebae9ea..42bc2ed616 100644 --- a/Kernel/Memory/MemoryManager.cpp +++ b/Kernel/Memory/MemoryManager.cpp @@ -740,7 +740,7 @@ PageFaultResponse MemoryManager::handle_page_fault(PageFault const& fault) if (faulted_in_range(&start_of_unmap_after_init, &end_of_unmap_after_init)) { auto const* kernel_symbol = symbolicate_kernel_address(fault.vaddr().get()); - dbgln("Attempt to access UNMAP_AFTER_INIT section ({:p}: {})", fault.vaddr(), kernel_symbol ? kernel_symbol->name : "(Unknown)"); + dbgln("Attempt to access UNMAP_AFTER_INIT section ({}: {})", fault.vaddr(), kernel_symbol ? kernel_symbol->name : "(Unknown)"); return PageFaultResponse::ShouldCrash; }