summaryrefslogtreecommitdiff
path: root/usr/src/uts/common
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common')
-rw-r--r--usr/src/uts/common/syscall/uadmin.c5
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);