diff options
author | cg209009 <none@none> | 2007-06-11 12:44:21 -0700 |
---|---|---|
committer | cg209009 <none@none> | 2007-06-11 12:44:21 -0700 |
commit | 8c9fe6576524d347beebb4d81036eb7acaec2a54 (patch) | |
tree | b86aeaf1fc6dca3e0c1e4e68ed0fa2b0e3c429b3 /usr/src/uts/common/syscall/uadmin.c | |
parent | 33eb6ee16b13e39cea2a404869f48bac9f857dfe (diff) | |
download | illumos-joyent-8c9fe6576524d347beebb4d81036eb7acaec2a54.tar.gz |
5070257 uadmin(A_SHUTDOWN) can return with ualock held
Diffstat (limited to 'usr/src/uts/common/syscall/uadmin.c')
-rw-r--r-- | usr/src/uts/common/syscall/uadmin.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr/src/uts/common/syscall/uadmin.c b/usr/src/uts/common/syscall/uadmin.c index cb71c07b9a..9946bd4b22 100644 --- a/usr/src/uts/common/syscall/uadmin.c +++ b/usr/src/uts/common/syscall/uadmin.c @@ -174,8 +174,11 @@ kadmin(int cmd, int fcn, void *mdep, cred_t *credp) */ if (p != &p0) { proc_is_exiting(p); - if ((error = exitlwps(0)) != 0) + if ((error = exitlwps(0)) != 0) { + ASSERT(locked); + mutex_exit(&ualock); return (error); + } mutex_enter(&p->p_lock); p->p_flag |= SNOWAIT; sigfillset(&p->p_ignore); |