summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/contract/process.c
diff options
context:
space:
mode:
authorVamsi Nagineni <Vamsi.Krishna@Sun.COM>2009-02-27 00:25:23 -0500
committerVamsi Nagineni <Vamsi.Krishna@Sun.COM>2009-02-27 00:25:23 -0500
commit6e092be7b7c1b73c34b6be23b369df0d9228e3f2 (patch)
tree711cb285189c64dcfc8f1df3e10799d0865c57b9 /usr/src/uts/common/contract/process.c
parent0f59e5a798136b49e7c0666181494da06bd8051e (diff)
downloadillumos-joyent-6e092be7b7c1b73c34b6be23b369df0d9228e3f2.tar.gz
6800529 panic in contract_process_kill() due to null p_pgidp pointer
6781092 Kernel panic when running emacs-x/slime with ssh -X from a zone
Diffstat (limited to 'usr/src/uts/common/contract/process.c')
-rw-r--r--usr/src/uts/common/contract/process.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/uts/common/contract/process.c b/usr/src/uts/common/contract/process.c
index 4b5d4d0ae8..9fd23fdb61 100644
--- a/usr/src/uts/common/contract/process.c
+++ b/usr/src/uts/common/contract/process.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -522,7 +522,8 @@ contract_process_kill(contract_t *ct, proc_t *ex, int checkpriv)
for (p = list_head(&ctp->conp_members); p != NULL;
p = list_next(&ctp->conp_members, p)) {
- if ((p == ex) || (pgrp != -1 && p->p_pgrp != pgrp) ||
+ if ((p == ex) ||
+ (pgrp != -1 && (p->p_stat == SIDL || p->p_pgrp != pgrp)) ||
(checkpriv && !contract_process_cankill(p, ex, ctp)))
continue;