diff options
author | Mike Smith <msmith@FreeBSD.org> | 1998-05-07 04:58:58 +0000 |
---|---|---|
committer | Mike Smith <msmith@FreeBSD.org> | 1998-05-07 04:58:58 +0000 |
commit | 7be2d30077aa55c6bb468a5495a7d049b6dae61a (patch) | |
tree | a9ff135ad94c11e962ae7ba882eeccc81cb63a72 /sys/netinet/mlf_ipl.c | |
parent | 309251a6011d7040e73711b3b6791667a26f957d (diff) |
Notes
Diffstat (limited to 'sys/netinet/mlf_ipl.c')
-rw-r--r-- | sys/netinet/mlf_ipl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/netinet/mlf_ipl.c b/sys/netinet/mlf_ipl.c index 8573f753a1e95..7a2cc70bf9cbd 100644 --- a/sys/netinet/mlf_ipl.c +++ b/sys/netinet/mlf_ipl.c @@ -242,6 +242,12 @@ static int if_ipl_remove __P((void)) vn_lock(nd.ni_vp, LK_EXCLUSIVE | LK_RETRY, curproc); VOP_LEASE(nd.ni_dvp, curproc, curproc->p_ucred, LEASE_WRITE); (void) VOP_REMOVE(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd); + if (nd.ni_dvp == nd.ni_vp) + vrele(nd.ni_dvp); + else + vput(nd.ni_dvp); + if (nd.ni_vp != NULLVP) + vput(nd.ni_vp); } return 0; @@ -294,6 +300,7 @@ int cmd; vattr.va_rdev = (ipl_major << 8) | i; VOP_LEASE(nd.ni_dvp, curproc, curproc->p_ucred, LEASE_WRITE); error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); + vput(nd.ni_dvp); if (error) return error; } |