From 1cb95fd2b70283ee01393976b8c4f6582fe4c61f Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 13 Mar 2004 22:31:39 +0000 Subject: Push Giant down a little further: - no longer serialize on Giant for thread_single*() and family in fork, exit and exec - thread_wait() is mpsafe, assert no Giant - reduce scope of Giant in exit to not cover thread_wait and just do vm_waitproc(). - assert that thread_single() family are not called with Giant - remove the DROP/PICKUP_GIANT macros from thread_single() family - assert that thread_suspend_check() s not called with Giant - remove manual drop_giant hack in thread_suspend_check since we know it isn't held. - remove the DROP/PICKUP_GIANT macros from thread_suspend_check() family - mark kse_create() mpsafe --- sys/kern/kern_exec.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'sys/kern/kern_exec.c') diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index d2f60d7..a09dba2 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -253,7 +253,6 @@ kern_execve(td, fname, argv, envv, mac_p) * that might allow a local user to illicitly obtain elevated * privileges. */ - mtx_lock(&Giant); PROC_LOCK(p); KASSERT((p->p_flag & P_INEXEC) == 0, ("%s(): process already has P_INEXEC flag", __func__)); @@ -271,7 +270,6 @@ kern_execve(td, fname, argv, envv, mac_p) td->td_mailbox = NULL; thread_single_end(); } - mtx_unlock(&Giant); p->p_flag |= P_INEXEC; PROC_UNLOCK(p); -- cgit v1.1