summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Mooney <patrick.f.mooney@gmail.com>2015-07-22 20:59:02 +0000
committerPatrick Mooney <patrick.f.mooney@gmail.com>2015-07-22 21:34:32 +0000
commit571323b8e15a617ad5ab28f90895847c05f58f67 (patch)
tree17b02a1c5fe4da9d0980f85ffbf1ddbb878f0318
parent26ec8019eb106158083e10fb0be7d2ee9baa9056 (diff)
downloadillumos-joyent-571323b8e15a617ad5ab28f90895847c05f58f67.tar.gz
OS-4461 lxsys can bungle v_count during VOP_INACTIVE
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
-rw-r--r--usr/src/uts/common/brand/lx/sysfs/lx_syssubr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usr/src/uts/common/brand/lx/sysfs/lx_syssubr.c b/usr/src/uts/common/brand/lx/sysfs/lx_syssubr.c
index b08f6b582b..3184b34d08 100644
--- a/usr/src/uts/common/brand/lx/sysfs/lx_syssubr.c
+++ b/usr/src/uts/common/brand/lx/sysfs/lx_syssubr.c
@@ -229,6 +229,9 @@ lxsys_freenode_static(lxsys_node_t *lnp)
if (vp->v_count != 1) {
VERIFY(vp->v_count > 0);
+ /* Release our hold before bailing out of lxsys_inactive */
+ vp->v_count--;
+
mutex_exit(&vp->v_lock);
mutex_exit(&lxsm->lxsysm_lock);
return (-1);