Emmanuel Dreyfus <m...@netbsd.org> wrote: > 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.
Reading the code again, it seems safe do to that: I am not even sure we need a lock on the vnode we set an extended attribute on, as it is left untouched. We just lookup its credentials and struct mount. This situation is specific to UFS1 and its file-backed extended attribute, though. In the general case, a lock may be required. But ufs_extattr_autocreate_attr is UFS1 specific anyway. -- Emmanuel Dreyfus http://hcpnet.free.fr/pubz m...@netbsd.org