diff options
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)); |