diff options
author | Constantine Sapuntzakis <csapuntz@cvs.openbsd.org> | 1997-12-02 17:47:39 +0000 |
---|---|---|
committer | Constantine Sapuntzakis <csapuntz@cvs.openbsd.org> | 1997-12-02 17:47:39 +0000 |
commit | bfcc12b8644f3a27f44305246cf19a44fc305053 (patch) | |
tree | 773b4d99e2f53071c79b77f8e973a482bf403cc2 /sys | |
parent | 6f7ac56ccd19416ad8f2dae8788acfabc298f11a (diff) |
Fix deadlock in cd9660 code. NetBSD PR#2262
Diffstat (limited to 'sys')
-rw-r--r-- | sys/isofs/cd9660/cd9660_lookup.c | 6 |
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); |