From 95c8e421ae5c8771c48fba6e74b75528c67f45da Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 9 Aug 2021 02:18:59 +0200 Subject: [PATCH] Kernel: Don't hog MM lock in find_region_from_vaddr() We don't want to be holding the MM lock if it's a user region and we have to consult the page directory, since that can lead to a deadlock if we don't already have the page directory lock. --- Kernel/Memory/MemoryManager.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Kernel/Memory/MemoryManager.cpp b/Kernel/Memory/MemoryManager.cpp index a92c94a1a2..6129764384 100644 --- a/Kernel/Memory/MemoryManager.cpp +++ b/Kernel/Memory/MemoryManager.cpp @@ -673,7 +673,6 @@ void MemoryManager::validate_syscall_preconditions(AddressSpace& space, Register Region* MemoryManager::find_region_from_vaddr(VirtualAddress vaddr) { - ScopedSpinLock lock(s_mm_lock); if (auto* region = kernel_region_from_vaddr(vaddr)) return region; auto page_directory = PageDirectory::find_by_cr3(read_cr3());