From 70518e69f40869b2fb6cbf69e33cbd24ecfa6d61 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Sun, 22 Aug 2021 21:50:56 -0600 Subject: [PATCH] Kernel: Unlock ptrace lock before entering a critical section in execve While it might not be as bad to release a mutex while interrupts are disabled as it is to acquire one, we don't want to mess with that. --- Kernel/Syscalls/execve.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Kernel/Syscalls/execve.cpp b/Kernel/Syscalls/execve.cpp index de55afc2f0..7cb86ffab3 100644 --- a/Kernel/Syscalls/execve.cpp +++ b/Kernel/Syscalls/execve.cpp @@ -626,6 +626,7 @@ KResult Process::do_exec(NonnullRefPtr main_program_description ptrace_locker.unlock(); Thread::current()->send_urgent_signal_to_self(SIGSTOP); } + ptrace_locker.unlock(); // unlock before disabling interrupts as well // We enter a critical section here because we don't want to get interrupted between do_exec() // and Processor::assume_context() or the next context switch.