]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC: r228827
authorrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Jan 2012 01:58:49 +0000 (01:58 +0000)
committerrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Jan 2012 01:58:49 +0000 (01:58 +0000)
commit70aaf401e5be2f1dc042238f284de2f420fef881
treecff28a9cd605f6e31e90dcd6a070702931f3ac6f
parentd1f4764ef8c625bd803fb1f4d3338ac97955d4aa
MFC: r228827
During investigation of an NFSv4 client crash reported by glebius@,
jhb@ spotted that nfscl_getstateid() might modify credentials when
called from nfsrpc_read() for the case where p != NULL, whereas
nfsrpc_read() only did a crdup() to get new credentials for p == NULL.
This bug was introduced by r195510, since pre-r195510 nfscl_getstateid()
only modified credentials for the p == NULL case. This patch modifies
nfsrpc_read()/nfsrpc_write() so that they do crdup() for the p != NULL case.
It is conceivable that this bug caused the crash reported by glebius@, but
that will not be determined for some time, since the crash occurred after
about 1month of operation.

git-svn-id: svn://svn.freebsd.org/base/stable/8@229955 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/fs/nfsclient/nfs_clrpcops.c