summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason King <jason.king@joyent.com>2018-05-15 11:12:52 -0500
committerJason King <jason.king@joyent.com>2018-05-15 12:29:41 -0500
commitc596bb2c28271ba1ba0b6af4ef4a3244b32bbfe1 (patch)
tree2ad8c16d9e13fe7661f8240ba6e82c42b1bb9267
parent187b276d8e492a172d021a78b5c087647ad8a3dc (diff)
downloadillumos-joyent-c596bb2c28271ba1ba0b6af4ef4a3244b32bbfe1.tar.gz
OS-6935 Possible race in lx_start_nfs_lockd
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Mike Gerdts <mike.gerdts@joyent.com> Approved by: Mike Gerdts <mike.gerdts@joyent.com>
-rw-r--r--usr/src/uts/common/brand/lx/os/lx_lockd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr/src/uts/common/brand/lx/os/lx_lockd.c b/usr/src/uts/common/brand/lx/os/lx_lockd.c
index 234e815d3f..d6d965398a 100644
--- a/usr/src/uts/common/brand/lx/os/lx_lockd.c
+++ b/usr/src/uts/common/brand/lx/os/lx_lockd.c
@@ -10,7 +10,7 @@
*/
/*
- * Copyright 2017 Joyent, Inc.
+ * Copyright 2018 Joyent, Inc.
*/
/*
@@ -77,6 +77,11 @@ lx_lockd_alive(pid_t lockd_pid)
}
mutex_enter(&p->p_lock);
+ if (p->p_stat == SZOMB || (p->p_flag & SEXITING) != 0) {
+ mutex_exit(&p->p_lock);
+ mutex_exit(&pidlock);
+ return (B_FALSE);
+ }
vp = p->p_exec;
VN_HOLD(vp);
mutex_exit(&p->p_lock);