summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2008-12-12 11:10:10 +0000
committerkib <kib@FreeBSD.org>2008-12-12 11:10:10 +0000
commita1eb382b394aea9eebbd5d358da3e5a6502c15d4 (patch)
tree61ad921aa4f5b55ddad7b91f3f77d01b03bd938f /sys/fs
parent74f46bd9ab9f493b301907c24bc2714b53a6937e (diff)
downloadFreeBSD-src-a1eb382b394aea9eebbd5d358da3e5a6502c15d4.zip
FreeBSD-src-a1eb382b394aea9eebbd5d358da3e5a6502c15d4.tar.gz
Do not leak defs_de_interlock on error.
Another pointy hat for my collection.
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/devfs/devfs_vnops.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index e454a5e..e0672da 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -241,8 +241,10 @@ devfs_vptocnp(struct vop_vptocnp_args *ap)
mtx_unlock(&devfs_de_interlock);
vholdl(*dvp);
VI_UNLOCK(*dvp);
- } else
+ } else {
+ mtx_unlock(&devfs_de_interlock);
error = ENOENT;
+ }
finished:
sx_xunlock(&dmp->dm_lock);
return (error);
OpenPOWER on IntegriCloud