From ddae3cb9a092ed556a54b88477d33e26386d37d7 Mon Sep 17 00:00:00 2001 From: Luoqi Chen Date: Fri, 28 Aug 1998 20:07:13 +0000 Subject: [PATCH] Close a race window for getnewbuf() between shared lock holders of the vnode. Reviewed by: Mike Smith --- sys/kern/vfs_bio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 40d5a73401ca..9ecd7a0679f4 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -11,7 +11,7 @@ * 2. Absolutely no warranty of function or purpose is made by the author * John S. Dyson. * - * $Id: vfs_bio.c,v 1.171 1998/08/24 17:47:25 phk Exp $ + * $Id: vfs_bio.c,v 1.172 1998/08/25 14:41:42 phk Exp $ */ /* @@ -1518,7 +1518,7 @@ loop1: * Normally the vnode is locked so this isn't a problem. * VBLK type I/O requests, however, don't lock the vnode. */ - if (!VOP_ISLOCKED(vp) && gbincore(vp, blkno)) { + if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE && gbincore(vp, blkno)) { bp->b_flags |= B_INVAL; brelse(bp); goto loop;