From 8c9fe6576524d347beebb4d81036eb7acaec2a54 Mon Sep 17 00:00:00 2001 From: cg209009 Date: Mon, 11 Jun 2007 12:44:21 -0700 Subject: 5070257 uadmin(A_SHUTDOWN) can return with ualock held --- usr/src/uts/common/syscall/uadmin.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'usr/src/uts/common/syscall/uadmin.c') 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); -- cgit v1.2.3