diff options
author | Patrick Mooney <pmooney@pfmooney.com> | 2016-08-16 17:41:44 +0000 |
---|---|---|
committer | Patrick Mooney <pmooney@pfmooney.com> | 2016-08-17 14:46:57 +0000 |
commit | fae673de1d84b263986f4dcdde53f15478ad664d (patch) | |
tree | 7e931c50f5e90a2bfb37282245309f717f91fb3d /usr/src | |
parent | 7e7bddbc9d2d421663bc709927c98a0e849215ba (diff) | |
download | illumos-joyent-fae673de1d84b263986f4dcdde53f15478ad664d.tar.gz |
OS-5596 lxbrand lock ordering issue in lxpr_lookup_fdnode
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/brand/lx/procfs/lx_prsubr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/usr/src/uts/common/brand/lx/procfs/lx_prsubr.c b/usr/src/uts/common/brand/lx/procfs/lx_prsubr.c index c12118a3ea..37573a81f6 100644 --- a/usr/src/uts/common/brand/lx/procfs/lx_prsubr.c +++ b/usr/src/uts/common/brand/lx/procfs/lx_prsubr.c @@ -658,9 +658,9 @@ lxpr_lookup_fdnode(vnode_t *dvp, const char *name) UF_EXIT(ufp); } mutex_exit(&fip->fi_lock); - mutex_enter(&p->p_lock); if (vp == NULL) { + mutex_enter(&p->p_lock); lxpr_unlock(p); lxpr_freenode(lxfp); return (NULL); @@ -682,6 +682,7 @@ lxpr_lookup_fdnode(vnode_t *dvp, const char *name) LXPTOV(lxfp)->v_type = VNON; } + mutex_enter(&p->p_lock); lxpr_unlock(p); ASSERT(LXPTOV(lxfp) != NULL); return (LXPTOV(lxfp)); |