diff options
author | kib <kib@FreeBSD.org> | 2008-12-12 11:10:10 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2008-12-12 11:10:10 +0000 |
commit | a1eb382b394aea9eebbd5d358da3e5a6502c15d4 (patch) | |
tree | 61ad921aa4f5b55ddad7b91f3f77d01b03bd938f /sys/fs | |
parent | 74f46bd9ab9f493b301907c24bc2714b53a6937e (diff) | |
download | FreeBSD-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.c | 4 |
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); |