summaryrefslogtreecommitdiff
path: root/Kernel/Memory
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2022-08-18 17:33:21 +0200
committerAndreas Kling <kling@serenityos.org>2022-08-18 18:52:34 +0200
commit75348bdfd32003a8420fd5c727e41f5be9918711 (patch)
tree650f4efb55c0bbe9c177fa9c56c3d322f446a430 /Kernel/Memory
parentabb84b9fcdf8b8d992967191ac1597aaa653c29d (diff)
downloadserenity-75348bdfd32003a8420fd5c727e41f5be9918711.zip
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.
Diffstat (limited to 'Kernel/Memory')
-rw-r--r--Kernel/Memory/AddressSpace.cpp1
-rw-r--r--Kernel/Memory/Region.cpp1
2 files changed, 0 insertions, 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<Region*> 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;
}