svn commit: r227690 - head/sys/nfsclient
Rick Macklem
rmacklem at FreeBSD.org
Sat Nov 19 03:20:15 UTC 2011
Author: rmacklem
Date: Sat Nov 19 03:20:15 2011
New Revision: 227690
URL: http://svn.freebsd.org/changeset/base/227690
Log:
The old NFS client will crash due to the reply being m_freem()'d
twice if the server bogusly returns an error with the NFSERR_RETERR
bit (bit 31) set. No actual NFS error has this bit set, but it seems
that amd will sometimes do this. This patch makes sure the NFSERR_RETERR
bit is cleared to avoid a crash.
PR: kern/153847
MFC after: 2 weeks
Modified:
head/sys/nfsclient/nfs_krpc.c
Modified: head/sys/nfsclient/nfs_krpc.c
==============================================================================
--- head/sys/nfsclient/nfs_krpc.c Sat Nov 19 00:20:28 2011 (r227689)
+++ head/sys/nfsclient/nfs_krpc.c Sat Nov 19 03:20:15 2011 (r227690)
@@ -540,6 +540,11 @@ tryagain:
hz);
goto tryagain;
}
+ /*
+ * Make sure NFSERR_RETERR isn't bogusly set by a server
+ * such as amd. (No actual NFS error has bit 31 set.)
+ */
+ error &= ~NFSERR_RETERR;
/*
* If the File Handle was stale, invalidate the lookup
More information about the svn-src-all
mailing list