summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorConstantine Sapuntzakis <csapuntz@cvs.openbsd.org>1997-12-02 17:47:39 +0000
committerConstantine Sapuntzakis <csapuntz@cvs.openbsd.org>1997-12-02 17:47:39 +0000
commitbfcc12b8644f3a27f44305246cf19a44fc305053 (patch)
tree773b4d99e2f53071c79b77f8e973a482bf403cc2 /sys
parent6f7ac56ccd19416ad8f2dae8788acfabc298f11a (diff)
Fix deadlock in cd9660 code. NetBSD PR#2262
Diffstat (limited to 'sys')
-rw-r--r--sys/isofs/cd9660/cd9660_lookup.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/isofs/cd9660/cd9660_lookup.c b/sys/isofs/cd9660/cd9660_lookup.c
index 9792882bc13..1bc86e0781a 100644
--- a/sys/isofs/cd9660/cd9660_lookup.c
+++ b/sys/isofs/cd9660/cd9660_lookup.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cd9660_lookup.c,v 1.6 1997/11/08 17:21:06 niklas Exp $ */
+/* $OpenBSD: cd9660_lookup.c,v 1.7 1997/12/02 17:47:38 csapuntz Exp $ */
/* $NetBSD: cd9660_lookup.c,v 1.18 1997/05/08 16:19:59 mycroft Exp $ */
/*-
@@ -423,10 +423,10 @@ found:
* it's a relocated directory.
*/
if (flags & ISDOTDOT) {
+ brelse(bp);
VOP_UNLOCK(pdp, 0, p); /* race to get the inode */
error = cd9660_vget_internal(vdp->v_mount, dp->i_ino, &tdp,
- dp->i_ino != ino, ep);
- brelse(bp);
+ dp->i_ino != ino, NULL);
if (error) {
vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, p);
return (error);