Date: Sat, 9 Feb 2008 20:13:19 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/nfsclient nfs_bio.c nfs_subs.c nfsnode.h Message-ID: <200802092013.m19KDKMi083034@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
attilio 2008-02-09 20:13:19 UTC
FreeBSD src repository
Modified files:
sys/nfsclient nfs_bio.c nfs_subs.c nfsnode.h
Log:
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802092013.m19KDKMi083034>
