diff options
author | jhb <jhb@FreeBSD.org> | 2009-01-28 18:10:57 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2009-01-28 18:10:57 +0000 |
commit | 9fe2e2b8134c517973204e5677629e42a6a49bd9 (patch) | |
tree | 22ad88a6d99d2c53a52cf21c6b366cf8662b020d /sys | |
parent | 4d97934eade63ec8b225e7be9c2310e01a87cc86 (diff) | |
download | FreeBSD-src-9fe2e2b8134c517973204e5677629e42a6a49bd9.zip FreeBSD-src-9fe2e2b8134c517973204e5677629e42a6a49bd9.tar.gz |
Assert an exclusive vnode lock for fifo_cleanup() and fifo_close() since
they change v_fifoinfo.
Discussed with: ups (a while ago)
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/fifofs/fifo_vnops.c | 4 |
1 files changed, 2 insertions, 2 deletions
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); |