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.
This commit is contained in:
Andrew Kaster 2021-08-22 21:50:56 -06:00 committed by Andreas Kling
parent 8e70b85215
commit 70518e69f4
Notes: sideshowbarker 2024-07-18 05:08:49 +09:00

View File

@ -626,6 +626,7 @@ KResult Process::do_exec(NonnullRefPtr<FileDescription> main_program_description
ptrace_locker.unlock(); ptrace_locker.unlock();
Thread::current()->send_urgent_signal_to_self(SIGSTOP); 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() // 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. // and Processor::assume_context() or the next context switch.