From 9fe2e2b8134c517973204e5677629e42a6a49bd9 Mon Sep 17 00:00:00 2001 From: jhb Date: Wed, 28 Jan 2009 18:10:57 +0000 Subject: Assert an exclusive vnode lock for fifo_cleanup() and fifo_close() since they change v_fifoinfo. Discussed with: ups (a while ago) --- sys/fs/fifofs/fifo_vnops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/fs') diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c index bd3a621..c4dac90 100644 --- a/sys/fs/fifofs/fifo_vnops.c +++ b/sys/fs/fifofs/fifo_vnops.c @@ -149,7 +149,7 @@ fifo_cleanup(struct vnode *vp) { struct fifoinfo *fip = vp->v_fifoinfo; - ASSERT_VOP_LOCKED(vp, "fifo_cleanup"); + ASSERT_VOP_ELOCKED(vp, "fifo_cleanup"); if (fip->fi_readers == 0 && fip->fi_writers == 0) { vp->v_fifoinfo = NULL; (void)soclose(fip->fi_readsock); @@ -422,7 +422,7 @@ fifo_close(ap) struct vnode *vp = ap->a_vp; struct fifoinfo *fip = vp->v_fifoinfo; - ASSERT_VOP_LOCKED(vp, "fifo_close"); + ASSERT_VOP_ELOCKED(vp, "fifo_close"); if (fip == NULL) { printf("fifo_close: no v_fifoinfo %p\n", vp); return (0); -- cgit v1.1