CFR: fifo_open()/fifo_close() patch
Terry Lambert
tlambert2 at mindspring.com
Fri May 16 21:53:17 PDT 2003
Don Lewis wrote:
>
> There are a few problems in the fifo_open() and fifo_close()
> implementations.
>
> fifo_open() calls VOP_CLOSE() with the vnode locked, whereas
> VOP_CLOSE() should be called with the vnode unlocked.
This is actually pretty bogus. All VOP's, except those that
return (locked) vnodes, or dispose (locked) vnodes that are
managed by the FS itself, should have locked vnodes. There's
a nasty race condition that occurs because of the VOP_CLOSE()
being called without the vnode locked.
-- Terry
More information about the freebsd-current
mailing list