summaryrefslogtreecommitdiff
path: root/usr/src/uts/common
diff options
context:
space:
mode:
authorPatrick Mooney <pmooney@pfmooney.com>2016-03-02 22:37:08 +0000
committerPatrick Mooney <pmooney@pfmooney.com>2016-03-02 23:59:18 +0000
commit6a7a17065e9b79219d42a410443bee8f28ad1d93 (patch)
tree68da90c72fa5365f253f5d9e95bd2dd0755f9f41 /usr/src/uts/common
parentbb1c698417dc9189c85dd69f6d0fbee19e9a2dde (diff)
downloadillumos-joyent-6a7a17065e9b79219d42a410443bee8f28ad1d93.tar.gz
OS-5204 lxbrand panic in br_issig_stop handler
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Diffstat (limited to 'usr/src/uts/common')
-rw-r--r--usr/src/uts/common/brand/lx/os/lx_ptrace.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/usr/src/uts/common/brand/lx/os/lx_ptrace.c b/usr/src/uts/common/brand/lx/os/lx_ptrace.c
index 2ec0abd0c1..0f521df61b 100644
--- a/usr/src/uts/common/brand/lx/os/lx_ptrace.c
+++ b/usr/src/uts/common/brand/lx/os/lx_ptrace.c
@@ -1611,6 +1611,17 @@ lx_ptrace_issig_stop(proc_t *p, klwp_t *lwp)
VERIFY(MUTEX_HELD(&p->p_lock));
/*
+ * In very rare circumstances, a process which is almost completely
+ * through proc_exit() may incur issig checks in the current thread via
+ * clean-up actions. The process will still be branded, but the thread
+ * will have already been stripped of any LX-specific data on its way
+ * to the grave. Bail early if the brand data is missing.
+ */
+ if (lwpd == NULL) {
+ return (0);
+ }
+
+ /*
* If we do not have an accord, bail out now. Additionally, if there
* is no valid signal then we have no reason to stop.
*/