summaryrefslogtreecommitdiffstats
path: root/sys/isofs/udf/udf_vfsops.c
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2009-12-19 00:27:17 +0000
committerkrw <krw@openbsd.org>2009-12-19 00:27:17 +0000
commit24f9a44588df781534b2117cb41a661d613c7f5b (patch)
tree41b3ea7e8f2c90ba47a0471406bd46cbdfc57730 /sys/isofs/udf/udf_vfsops.c
parentMore device id ordering, from Brad (diff)
downloadwireguard-openbsd-24f9a44588df781534b2117cb41a661d613c7f5b.tar.xz
wireguard-openbsd-24f9a44588df781534b2117cb41a661d613c7f5b.zip
Re-introduce the remaining bits of thib@'s Aug 2006 VOP_CLOSE()
locking fixes. Tweak cd9660 code to be the same as everywhere else, no functional change. ok beck@
Diffstat (limited to 'sys/isofs/udf/udf_vfsops.c')
-rw-r--r--sys/isofs/udf/udf_vfsops.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/isofs/udf/udf_vfsops.c b/sys/isofs/udf/udf_vfsops.c
index e422db60dd2..40875383e6d 100644
--- a/sys/isofs/udf/udf_vfsops.c
+++ b/sys/isofs/udf/udf_vfsops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: udf_vfsops.c,v 1.31 2009/08/27 23:14:47 jolan Exp $ */
+/* $OpenBSD: udf_vfsops.c,v 1.32 2009/12/19 00:27:17 krw Exp $ */
/*
* Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org>
@@ -443,7 +443,10 @@ bail:
}
if (bp != NULL)
brelse(bp);
+
+ vn_lock(devvp, LK_EXCLUSIVE|LK_RETRY, p);
VOP_CLOSE(devvp, FREAD, FSCRED, p);
+ VOP_UNLOCK(devvp, 0, p);
return (error);
}