tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: extended attributes (need help)
David Laight <david%l8s.co.uk@localhost> wrote:
> > Solution is to test for vp->v_vflag & VV_ROOT and unlock the vnode
> > before calling vn_open or namei, and relocking it afterwards.
> Is that valid - I assume the root vnode is locked for a reason,
> you can't just unlock it because a routine you need to call wants
> to lock it again.
Here is the code path:
sys_extattr_set_file
extattr_set_vp
vn_lock
VOP_SETEXTATTR
ufs_setextattr
ufs_extattr_set
ufs_extattr_autocreate_attr
*** VOP_UNLOCK added here ***
namei
VFS_ROOT
vn_lock
VOP_UNLOCK
*** vn_lock added here ***
VOP_UNLOCK
vrele
I wonder if there is room for a race condition. What can happen to the
root vnode of a filesystem that would ruin my day here? At least I
assume it cannot be removed.
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index