PERFORCE change 189073 for review

Efstratios Karatzas gpf at FreeBSD.org
Wed Feb 23 22:35:37 UTC 2011


http://p4web.freebsd.org/@@189073?ac=10

Change 189073 by gpf at gpf_desktop on 2011/02/23 22:34:46

	- call to nfsrv_auditpath() should be after possible unlocking of 'nvp'

Affected files ...

.. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/fs/nfsserver/nfs_nfsdsocket.c#16 edit

Differences ...

==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/fs/nfsserver/nfs_nfsdsocket.c#16 (text+ko) ====

@@ -915,12 +915,7 @@
 				vn_start_write(vp, &temp_mp, V_WAIT);
 			nvp = NULL;
 			error = (*(nfsrv4_ops1[op]))(nd, isdgram, vp,
-			    &nvp, (fhandle_t *)fh.nfsrvfh_data, p, &vpnes);
-			if (nvp != NULL) {
-				nfsrv_auditpath(nvp, NULL, NULL, 
-					(fhandle_t *)fh.nfsrvfh_data, 1);
-				vrele(nvp);
-			}
+			    &nvp, (fhandle_t *)fh.nfsrvfh_data, p, &vpnes);			
 			if (!error && !nd->nd_repstat) {
 			    if (op == NFSV4OP_LOOKUP || op == NFSV4OP_LOOKUPP) {
 				new_mp = nvp->v_mount;
@@ -950,6 +945,11 @@
 			    } else
 				    vrele(nvp);
 			}
+			if (nvp != NULL) {
+				nfsrv_auditpath(nvp, NULL, NULL, 
+					(fhandle_t *)fh.nfsrvfh_data, 1);
+				vrele(nvp);
+			}
 			if (nfsv4_opflag[op].modifyfs)
 				vn_finished_write(temp_mp);
 		    } else if (nfsv4_opflag[op].retfh == 2) {


More information about the p4-projects mailing list