cvs commit: src/sys/kern vfs_syscalls.c
Ian Dowse
iedowse at FreeBSD.org
Mon Aug 4 17:26:53 PDT 2003
iedowse 2003/08/04 17:26:51 PDT
FreeBSD src repository
Modified files:
sys/kern vfs_syscalls.c
Log:
In the mknod(), mkfifo(), link(), symlink() and undelete() syscalls,
use vrele() instead of vput() on the parent directory vnode returned
by namei() in the case where it is equal to the target vnode. This
handles namei()'s somewhat strange (but documented) behaviour of
not locking either vnode when the two vnodes are equal and LOCKPARENT
but not LOCKLEAF is specified.
Note that since a vnode double-unlock is not currently fatal, these
coding errors were effectively harmless.
Spotted by: Juergen Hannken-Illjes <hannken at eis.cs.tu-bs.de>
Reviewed by: mckusick
Revision Changes Path
1.329 +23 -5 src/sys/kern/vfs_syscalls.c
More information about the cvs-src
mailing list