svn commit: r320458 - head/sys/fs/nfsclient

Rick Macklem rmacklem at FreeBSD.org
Wed Jun 28 21:37:10 UTC 2017


Author: rmacklem
Date: Wed Jun 28 21:37:08 2017
New Revision: 320458
URL: https://svnweb.freebsd.org/changeset/base/320458

Log:
  Fix an NFSv3 client case that probably never happens.
  
  If an NFSv3 server were to reply with weak cache consistency attributes,
  but not post operation attributes, the client would use garbage attributes
  from memory. This was spotted during work on the code for the NFSv4.1 client.
  I have never seen evidence that this happens and it wouldn't make sense
  for an NFSv3 server to do this, so this patch is basically "theoretical",
  but does fix the problem if a server were to do the above.
  
  PR:		219552
  MFC after:	2 weeks

Modified:
  head/sys/fs/nfsclient/nfs_clport.c

Modified: head/sys/fs/nfsclient/nfs_clport.c
==============================================================================
--- head/sys/fs/nfsclient/nfs_clport.c	Wed Jun 28 21:08:21 2017	(r320457)
+++ head/sys/fs/nfsclient/nfs_clport.c	Wed Jun 28 21:37:08 2017	(r320458)
@@ -741,6 +741,8 @@ nfscl_wcc_data(struct nfsrv_descript *nd, struct vnode
 			}
 		}
 		error = nfscl_postop_attr(nd, nap, flagp, stuff);
+		if (wccflagp != NULL && *flagp == 0)
+			*wccflagp = 0;
 	} else if ((nd->nd_flag & (ND_NOMOREDATA | ND_NFSV4 | ND_V4WCCATTR))
 	    == (ND_NFSV4 | ND_V4WCCATTR)) {
 		error = nfsv4_loadattr(nd, NULL, &nfsva, NULL,


More information about the svn-src-head mailing list