From bf5e4326ac03264d503495b4b7b1996753d2bfe7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 13 Jul 2021 21:20:24 +0200 Subject: [PATCH] Kernel: Fix bogus address calculation in initialize_physical_pages() We were incorrectly using sizeof(PhysicalPageEntry) for some address calculations instead of sizeof(PageTableEntry). It still worked correctly because they happen to be the same size. --- Kernel/VM/MemoryManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/VM/MemoryManager.cpp b/Kernel/VM/MemoryManager.cpp index 3ed3d6b12c0..9374a3dee70 100644 --- a/Kernel/VM/MemoryManager.cpp +++ b/Kernel/VM/MemoryManager.cpp @@ -460,7 +460,7 @@ UNMAP_AFTER_INIT void MemoryManager::initialize_physical_pages() auto result = kernel_page_tables.set(virtual_page_array_current_page & ~0x1fffff, move(physical_page)); VERIFY(result == AK::HashSetResult::InsertedNewEntry); - virtual_page_array_current_page += (PAGE_SIZE / sizeof(PhysicalPageEntry)) * PAGE_SIZE; + virtual_page_array_current_page += (PAGE_SIZE / sizeof(PageTableEntry)) * PAGE_SIZE; } dmesgln("MM: Physical page entries: {}", range.value());