From 614f1d633e921143ad22010eeec64ed7c6aa627c Mon Sep 17 00:00:00 2001 From: Jerry Jelinek Date: Tue, 31 Oct 2017 18:39:20 +0000 Subject: 9055 panic in prgetattr Reviewed by: Jason King Reviewed by: Rich Lowe Approved by: Dan McDonald --- usr/src/uts/common/fs/proc/prvnops.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'usr/src') diff --git a/usr/src/uts/common/fs/proc/prvnops.c b/usr/src/uts/common/fs/proc/prvnops.c index dedf1127cb..9a08f0c030 100644 --- a/usr/src/uts/common/fs/proc/prvnops.c +++ b/usr/src/uts/common/fs/proc/prvnops.c @@ -1592,6 +1592,11 @@ pr_read_spymaster(prnode_t *pnp, uio_t *uiop) if ((error = prlock(pnp, ZNO)) != 0) return (error); + if (pnp->pr_common->prc_thread == NULL) { + prunlock(pnp); + return (0); + } + lwp = pnp->pr_common->prc_thread->t_lwp; if (lwp->lwp_spymaster == NULL) { @@ -2621,6 +2626,11 @@ pr_read_spymaster_32(prnode_t *pnp, uio_t *uiop) if ((error = prlock(pnp, ZNO)) != 0) return (error); + if (pnp->pr_common->prc_thread == NULL) { + prunlock(pnp); + return (0); + } + lwp = pnp->pr_common->prc_thread->t_lwp; if (lwp->lwp_spymaster == NULL) { @@ -3147,7 +3157,8 @@ prgetattr(vnode_t *vp, vattr_t *vap, int flags, cred_t *cr, vap->va_size = 0; break; case PR_SPYMASTER: - if (pnp->pr_common->prc_thread->t_lwp->lwp_spymaster != NULL) { + if (pnp->pr_common->prc_thread != NULL && + pnp->pr_common->prc_thread->t_lwp->lwp_spymaster != NULL) { vap->va_size = PR_OBJSIZE(psinfo32_t, psinfo_t); } else { vap->va_size = 0; -- cgit v1.2.3