From 8e70b8521563778489e26de084f5994d95c3086a Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Sun, 22 Aug 2021 21:48:58 -0600 Subject: [PATCH] Kernel: Don't disable interrupts in validate_inode_mmap_prot There's no need to disable interrupts when trying to access an inode's shared vmobject. Additionally, Inode::shared_vmobject() acquires a Mutex which is a recipe for deadlock if acquired with interrupts disabled. --- Kernel/Syscalls/mmap.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Kernel/Syscalls/mmap.cpp b/Kernel/Syscalls/mmap.cpp index 6fcd86d2ae..d3653cf228 100644 --- a/Kernel/Syscalls/mmap.cpp +++ b/Kernel/Syscalls/mmap.cpp @@ -5,7 +5,6 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include #include #include #include @@ -115,7 +114,6 @@ static bool validate_inode_mmap_prot(const Process& process, int prot, const Ino // keep a Custody or something from mmap time. if ((prot & PROT_WRITE) && !metadata.may_write(process)) return false; - InterruptDisabler disabler; if (auto shared_vmobject = inode.shared_vmobject()) { if ((prot & PROT_EXEC) && shared_vmobject->writable_mappings()) return false;