- Don't try to unlock Giant if single threading fails since we don't have
it locked. - Unlock Giant before calling exit1() since exit1() does not require Giant.
This commit is contained in:
parent
138096672e
commit
1f2758a712
@ -257,7 +257,6 @@ kern_execve(td, fname, argv, envv, mac_p)
|
||||
if (p->p_flag & P_HADTHREADS) {
|
||||
if (thread_single(SINGLE_EXIT)) {
|
||||
PROC_UNLOCK(p);
|
||||
mtx_unlock(&Giant);
|
||||
return (ERESTART); /* Try again later. */
|
||||
}
|
||||
/*
|
||||
@ -723,6 +722,7 @@ kern_execve(td, fname, argv, envv, mac_p)
|
||||
if (interplabel != NULL)
|
||||
mac_vnode_label_free(interplabel);
|
||||
#endif
|
||||
mtx_unlock(&Giant);
|
||||
exit1(td, W_EXITCODE(0, SIGABRT));
|
||||
/* NOT REACHED */
|
||||
error = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user