From 75348bdfd32003a8420fd5c727e41f5be9918711 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 18 Aug 2022 17:33:21 +0200 Subject: [PATCH] Kernel: Don't require MM lock for Region::set_page_directory() The MM lock is not required for this, it's just a simple ref-counted pointer assignment. --- Kernel/Memory/AddressSpace.cpp | 1 - Kernel/Memory/Region.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/Kernel/Memory/AddressSpace.cpp b/Kernel/Memory/AddressSpace.cpp index 01964f324b..fc14dd45c0 100644 --- a/Kernel/Memory/AddressSpace.cpp +++ b/Kernel/Memory/AddressSpace.cpp @@ -214,7 +214,6 @@ ErrorOr AddressSpace::allocate_region_with_vmobject(RandomizeVirtualAdd if (prot == PROT_NONE) { // For PROT_NONE mappings, we don't have to set up any page table mappings. // We do still need to attach the region to the page_directory though. - SpinlockLocker mm_locker(s_mm_lock); region->set_page_directory(page_directory()); } else { auto result = region->map(page_directory(), ShouldFlushTLB::No); diff --git a/Kernel/Memory/Region.cpp b/Kernel/Memory/Region.cpp index dcaa9de2b3..03e77f69cc 100644 --- a/Kernel/Memory/Region.cpp +++ b/Kernel/Memory/Region.cpp @@ -280,7 +280,6 @@ void Region::unmap_with_locks_held(ShouldFlushTLB should_flush_tlb, SpinlockLock void Region::set_page_directory(PageDirectory& page_directory) { VERIFY(!m_page_directory || m_page_directory == &page_directory); - VERIFY(s_mm_lock.is_locked_by_current_processor()); m_page_directory = page_directory; }