cvs commit: src/sys/nfsclient nfs_bio.c nfs_subs.c nfsnode.h
attilio at FreeBSD.org
Sat Feb 9 12:13:20 PST 2008
attilio 2008-02-09 20:13:19 UTC
FreeBSD src repository
sys/nfsclient nfs_bio.c nfs_subs.c nfsnode.h
namei() can call underlying nfs_readlink() passing a struct uio pointer
owned by a NULL owner. This will lead consequent VOP_ISLOCKED() present
into nfs_upgrade_vnlock() to panic as it only acquire curthread now.
Fix nfs_upgrade_vnlock() and nfs_downgrade_vnlock() in order to not use
more the struct thread pointer passed as argument (as it is really nomore
required there as vn_lock() and VOP_UNLOCK doesn't get the lock more).
Using curthread, in place, doesn't get ambiguity as LK_EXCLOTHER should
be handled as a "not locked" request by both functions.
Reported by: kris
Tested by: kris
Reviewed by: ups
Revision Changes Path
1.166 +4 -4 src/sys/nfsclient/nfs_bio.c
1.151 +3 -3 src/sys/nfsclient/nfs_subs.c
1.61 +2 -2 src/sys/nfsclient/nfsnode.h
More information about the cvs-src