Ver código fonte

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.
Andrew Kaster 3 anos atrás
pai
commit
70518e69f4
1 arquivos alterados com 1 adições e 0 exclusões
  1. 1 0
      Kernel/Syscalls/execve.cpp

+ 1 - 0
Kernel/Syscalls/execve.cpp

@@ -626,6 +626,7 @@ KResult Process::do_exec(NonnullRefPtr<FileDescription> 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.