diff --git a/Kernel/Memory/MemoryManager.cpp b/Kernel/Memory/MemoryManager.cpp index 81ffa1db39..75ad1c9800 100644 --- a/Kernel/Memory/MemoryManager.cpp +++ b/Kernel/Memory/MemoryManager.cpp @@ -1107,18 +1107,18 @@ bool MemoryManager::validate_user_stack(AddressSpace& space, VirtualAddress vadd return validate_user_stack_no_lock(space, vaddr); } -void MemoryManager::register_region(Region& region) +void MemoryManager::register_kernel_region(Region& region) { + VERIFY(region.is_kernel()); SpinlockLocker lock(s_mm_lock); - if (region.is_kernel()) - m_kernel_regions.insert(region.vaddr().get(), ®ion); + m_kernel_regions.insert(region.vaddr().get(), ®ion); } -void MemoryManager::unregister_region(Region& region) +void MemoryManager::unregister_kernel_region(Region& region) { + VERIFY(region.is_kernel()); SpinlockLocker lock(s_mm_lock); - if (region.is_kernel()) - m_kernel_regions.remove(region.vaddr().get()); + m_kernel_regions.remove(region.vaddr().get()); } void MemoryManager::dump_kernel_regions() diff --git a/Kernel/Memory/MemoryManager.h b/Kernel/Memory/MemoryManager.h index cdd23c3a47..4a5e5e5137 100644 --- a/Kernel/Memory/MemoryManager.h +++ b/Kernel/Memory/MemoryManager.h @@ -248,8 +248,8 @@ private: void initialize_physical_pages(); void register_reserved_ranges(); - void register_region(Region&); - void unregister_region(Region&); + void register_kernel_region(Region&); + void unregister_kernel_region(Region&); void protect_kernel_image(); void parse_memory_map(); diff --git a/Kernel/Memory/Region.cpp b/Kernel/Memory/Region.cpp index e4254c7184..fa2eaba113 100644 --- a/Kernel/Memory/Region.cpp +++ b/Kernel/Memory/Region.cpp @@ -34,7 +34,9 @@ Region::Region(VirtualRange const& range, NonnullRefPtr vmobject, size VERIFY((m_range.size() % PAGE_SIZE) == 0); m_vmobject->add_region(*this); - MM.register_region(*this); + + if (is_kernel()) + MM.register_kernel_region(*this); } Region::~Region() @@ -46,7 +48,8 @@ Region::~Region() m_vmobject->remove_region(*this); - MM.unregister_region(*this); + if (is_kernel()) + MM.unregister_kernel_region(*this); if (m_page_directory) { SpinlockLocker page_lock(m_page_directory->get_lock());