Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jun 2010 17:11:49 GMT
From:      Efstratios Karatzas <gpf@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 179292 for review
Message-ID:  <201006071711.o57HBntW023829@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@179292?ac=10

Change 179292 by gpf@gpf_desktop on 2010/06/07 17:11:06

	- some code refactoring in current nfs server, mostly to place 
	those vrefs, vreles under an if AUDITING_TD(curthread) umbrella

Affected files ...

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

Differences ...

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

@@ -329,7 +329,7 @@
 	}
 
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -365,9 +365,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {		
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -411,7 +410,7 @@
 		goto nfsmout;
 	}
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -435,9 +434,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -541,7 +539,7 @@
 	}
 
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL)
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_vp);		
 
 	/*
@@ -610,9 +608,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -679,7 +676,7 @@
 	}
 
 	AUDIT_vp = nd.ni_vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -810,9 +807,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -896,7 +892,7 @@
 	}
 
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -934,9 +930,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -1010,7 +1005,7 @@
 	}
 
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -1202,9 +1197,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -1330,7 +1324,7 @@
 	}
 
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -1439,9 +1433,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -1529,7 +1522,7 @@
 	}
 
 	AUDIT_dvp = nd.ni_dvp;
-	if (AUDIT_dvp != NULL)
+	if (AUDIT_dvp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_dvp);
 
 	/*
@@ -1687,7 +1680,7 @@
 		}
 	}
 	AUDIT_vp = nd.ni_vp;	
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -1763,17 +1756,18 @@
 	 * There's a chance that nd.ni_cnd.cn_pnbuf contains junk,
 	 * if an error occured; do we mind?
 	 */
-	if (AUDITING_TD(curthread))
+	if (AUDITING_TD(curthread)) {
 		nfsrv_auditpath(AUDIT_vp, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, fhp, 1);
-	if (AUDIT_dvp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
-		vrele(AUDIT_dvp);
-		VFS_UNLOCK_GIANT(vfslocked);
-	}
-	if (AUDIT_vp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
-		vrele(AUDIT_vp);
-		VFS_UNLOCK_GIANT(vfslocked);
+		if (AUDIT_dvp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
+			vrele(AUDIT_dvp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
+		if (AUDIT_vp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
+			vrele(AUDIT_vp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
 	}
 
 	return (error);
@@ -1847,7 +1841,7 @@
 	}
 	
 	AUDIT_dvp = nd.ni_dvp;
-	if (AUDIT_dvp != NULL)
+	if (AUDIT_dvp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_dvp);
 
 	tl = nfsm_dissect_nonblock(u_int32_t *, NFSX_UNSIGNED);
@@ -1885,7 +1879,7 @@
 			NDFREE(&nd, NDF_ONLY_PNBUF);
 		else {
 			AUDIT_vp = nd.ni_vp;
-			if (AUDIT_vp != NULL) {
+			if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 				vref(AUDIT_vp);
 				AUDIT_ARG_VNODE1(AUDIT_vp);
 			}
@@ -1901,7 +1895,7 @@
 			goto out;
 		}
 		AUDIT_vp = nd.ni_vp;
-		if (AUDIT_vp != NULL) {
+		if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 			vref(AUDIT_vp);
 			AUDIT_ARG_VNODE1(AUDIT_vp);
 		}
@@ -1985,17 +1979,18 @@
 	 * There's a chance that nd.ni_cnd.cn_pnbuf contains junk,
 	 * if an error occured; do we mind?
 	 */
-	if (AUDITING_TD(curthread))
+	if (AUDITING_TD(curthread)) {
 		nfsrv_auditpath(AUDIT_vp, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, fhp, 1);
-	if (AUDIT_dvp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
-		vrele(AUDIT_dvp);
-		VFS_UNLOCK_GIANT(vfslocked);
-	}
-	if (AUDIT_vp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
-		vrele(AUDIT_vp);
-		VFS_UNLOCK_GIANT(vfslocked);
+		if (AUDIT_dvp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
+			vrele(AUDIT_dvp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
+		if (AUDIT_vp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
+			vrele(AUDIT_vp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
 	}
 	return (0);
 nfsmout:
@@ -2020,18 +2015,19 @@
 	 * There's a chance that nd.ni_cnd.cn_pnbuf contains junk,
 	 * if an error occured; do we mind?
 	 */
-	if (AUDITING_TD(curthread))
+	if (AUDITING_TD(curthread)) {
 		nfsrv_auditpath(AUDIT_vp, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, fhp, 1);
-	if (AUDIT_dvp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
-		vrele(AUDIT_dvp);
-		VFS_UNLOCK_GIANT(vfslocked);
+		if (AUDIT_dvp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
+			vrele(AUDIT_dvp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
+		if (AUDIT_vp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
+			vrele(AUDIT_vp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
 	}
-	if (AUDIT_vp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
-		vrele(AUDIT_vp);
-		VFS_UNLOCK_GIANT(vfslocked);
-	}
 
 	return (error);
 }
@@ -2087,7 +2083,7 @@
 	}
 	if (error == 0) {
 		AUDIT_dvp = nd.ni_dvp;
-		if (AUDIT_dvp != NULL)
+		if (AUDIT_dvp != NULL && AUDITING_TD(curthread))
 			vref(AUDIT_dvp);
 		if (nd.ni_vp != NULL)
 			AUDIT_ARG_VNODE1(nd.ni_vp);
@@ -2155,9 +2151,8 @@
 	 * There's a chance that nd.ni_cnd.cn_pnbuf contains junk,
 	 * if an error occured; do we mind?
 	 */
-	if (AUDIT_dvp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(NULL, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, NULL, 1);
+	if (AUDITING_TD(curthread) && AUDIT_dvp != NULL) {
+		nfsrv_auditpath(NULL, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, NULL, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
 		vrele(AUDIT_dvp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -2243,13 +2238,13 @@
 	}
 
 	AUDIT_vp = fromnd.ni_vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vn_lock(AUDIT_vp, LK_SHARED);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 		VOP_UNLOCK(AUDIT_vp, 0);
 	}
 	AUDIT_fromdvp = fromnd.ni_dvp;
-	if (AUDIT_fromdvp != NULL)
+	if (AUDIT_fromdvp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_fromdvp);
 
 	fvp = fromnd.ni_vp;
@@ -2270,7 +2265,7 @@
 		goto out1;
 
 	AUDIT_todvp = tond.ni_dvp;
-	if (AUDIT_todvp != NULL)
+	if (AUDIT_todvp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_todvp);
 
 	tdvp = tond.ni_dvp;
@@ -2419,20 +2414,19 @@
 	 * if an error occured; do we mind?
 	 */
 	if (AUDITING_TD(curthread)) {
-		nfsrv_auditpath(NULL, AUDIT_fromdvp, fromnd.ni_cnd.cn_pnbuf, NULL, 1);		
-		nfsrv_auditpath(NULL, AUDIT_todvp, tond.ni_cnd.cn_pnbuf, NULL, 2);		
-	}	
-	if (AUDIT_fromdvp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_fromdvp->v_mount);
-		vrele(AUDIT_fromdvp);
-		VFS_UNLOCK_GIANT(vfslocked);
+		nfsrv_auditpath(NULL, AUDIT_fromdvp, fromnd.ni_cnd.cn_pnbuf, NULL, 1);
+		nfsrv_auditpath(NULL, AUDIT_todvp, tond.ni_cnd.cn_pnbuf, NULL, 2);
+		if (AUDIT_fromdvp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_fromdvp->v_mount);
+			vrele(AUDIT_fromdvp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
+		if (AUDIT_todvp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_todvp->v_mount);
+			vrele(AUDIT_todvp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
 	}
-	if (AUDIT_todvp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_todvp->v_mount);
-		vrele(AUDIT_todvp);
-		VFS_UNLOCK_GIANT(vfslocked);
-	}
-
 	return (error);
 }
 
@@ -2493,7 +2487,7 @@
 	}
 
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -2521,7 +2515,7 @@
 	}
 
 	AUDIT_dvp = nd.ni_dvp;
-	if (AUDIT_dvp != NULL)
+	if (AUDIT_dvp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_dvp);
 
 	xp = nd.ni_vp;
@@ -2600,19 +2594,19 @@
 	 * if an error occured; do we mind?
 	 */
 	if (AUDITING_TD(curthread)) {
-		nfsrv_auditpath(NULL, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, NULL, 1);		
-		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 2);		
-	}	
-	if (AUDIT_dvp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
-		vrele(AUDIT_dvp);
-		VFS_UNLOCK_GIANT(vfslocked);
+		nfsrv_auditpath(NULL, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, NULL, 1);
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 2);	
+		if (AUDIT_dvp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
+			vrele(AUDIT_dvp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
+		if (AUDIT_vp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
+			vrele(AUDIT_vp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
 	}
-	if (AUDIT_vp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
-		vrele(AUDIT_vp);
-		VFS_UNLOCK_GIANT(vfslocked);
-	}
 
 	return(error);
 }
@@ -2674,7 +2668,7 @@
 	}
 	
 	AUDIT_dvp = nd.ni_dvp;
-	if (AUDIT_dvp != NULL)
+	if (AUDIT_dvp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_dvp);
 
 	if (dirp && !v3) {
@@ -2718,7 +2712,7 @@
 		NDFREE(&nd, NDF_ONLY_PNBUF);
 	else {
 		AUDIT_vp = nd.ni_vp;
-		if (AUDIT_vp != NULL) {
+		if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 			vref(AUDIT_vp);
 			AUDIT_ARG_VNODE1(AUDIT_vp);
 		}
@@ -2819,18 +2813,19 @@
 	 * There's a chance that nd.ni_cnd.cn_pnbuf contains junk,
 	 * if an error occured; do we mind?
 	 */
-	if (AUDITING_TD(curthread))
+	if (AUDITING_TD(curthread)) {
 		nfsrv_auditpath(AUDIT_vp, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, fhp, 1);
-	if (AUDIT_dvp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
-		vrele(AUDIT_dvp);
-		VFS_UNLOCK_GIANT(vfslocked);
+		if (AUDIT_dvp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
+			vrele(AUDIT_dvp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
+		if (AUDIT_vp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
+			vrele(AUDIT_vp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
 	}
-	if (AUDIT_vp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
-		vrele(AUDIT_vp);
-		VFS_UNLOCK_GIANT(vfslocked);
-	}
 
 	return (error);
 }
@@ -2896,7 +2891,7 @@
 		goto nfsmout;
 	}
 	AUDIT_dvp = nd.ni_dvp;
-	if (AUDIT_dvp != NULL)
+	if (AUDIT_dvp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_dvp);
 
 	VATTR_NULL(vap);
@@ -2936,7 +2931,7 @@
 
 	if (!error) {
 		AUDIT_vp = nd.ni_vp;
-		if (AUDIT_vp != NULL) {
+		if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 			vref(AUDIT_vp);
 			AUDIT_ARG_VNODE1(AUDIT_vp);
 		}
@@ -3012,17 +3007,18 @@
 	 * There's a chance that nd.ni_cnd.cn_pnbuf contains junk,
 	 * if an error occured; do we mind?
 	 */
-	if (AUDITING_TD(curthread))
+	if (AUDITING_TD(curthread)) {
 		nfsrv_auditpath(AUDIT_vp, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, fhp, 1);
-	if (AUDIT_dvp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
-		vrele(AUDIT_dvp);
-		VFS_UNLOCK_GIANT(vfslocked);
-	}
-	if (AUDIT_vp != NULL) {
-		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
-		vrele(AUDIT_vp);
-		VFS_UNLOCK_GIANT(vfslocked);
+		if (AUDIT_dvp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
+			vrele(AUDIT_dvp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
+		if (AUDIT_vp != NULL) {
+			vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
+			vrele(AUDIT_vp);
+			VFS_UNLOCK_GIANT(vfslocked);
+		}
 	}
 
 	return (error);
@@ -3085,7 +3081,7 @@
 		goto nfsmout;
 	}
 	AUDIT_dvp = nd.ni_dvp;
-	if (AUDIT_dvp != NULL)
+	if (AUDIT_dvp != NULL && AUDITING_TD(curthread))
 		vref(AUDIT_dvp);
 	if (nd.ni_vp != NULL)
 		AUDIT_ARG_VNODE1(nd.ni_vp);
@@ -3163,9 +3159,8 @@
 	 * There's a chance that nd.ni_cnd.cn_pnbuf contains junk,
 	 * if an error occured; do we mind?
 	 */
-	if (AUDIT_dvp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(NULL, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, NULL, 1);
+	if (AUDITING_TD(curthread) && AUDIT_dvp != NULL) {
+		nfsrv_auditpath(NULL, AUDIT_dvp, nd.ni_cnd.cn_pnbuf, NULL, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_dvp->v_mount);
 		vrele(AUDIT_dvp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -3270,7 +3265,7 @@
 	    nam, &rdonly, TRUE);
 	if (!error) {
 		AUDIT_vp = vp;
-		if (AUDIT_vp != NULL) {
+		if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 			vref(AUDIT_vp);
 			AUDIT_ARG_VNODE1(AUDIT_vp);
 		}
@@ -3513,9 +3508,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);	
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -3581,7 +3575,7 @@
 	    nam, &rdonly, TRUE);
 	if (!error) {
 		AUDIT_vp = vp;
-		if (AUDIT_vp != NULL) {
+		if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 			vref(AUDIT_vp);
 			AUDIT_ARG_VNODE1(AUDIT_vp);
 		}
@@ -3880,9 +3874,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -3949,7 +3942,7 @@
 		goto nfsmout;
 	}
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -4059,9 +4052,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))		
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -4110,7 +4102,7 @@
 		goto nfsmout;
 	}
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -4169,9 +4161,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -4220,7 +4211,7 @@
 		goto nfsmout;
 	}
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -4261,9 +4252,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);
@@ -4311,7 +4301,7 @@
 		goto nfsmout;
 	}
 	AUDIT_vp = vp;
-	if (AUDIT_vp != NULL) {
+	if (AUDIT_vp != NULL && AUDITING_TD(curthread)) {
 		vref(AUDIT_vp);
 		AUDIT_ARG_VNODE1(AUDIT_vp);
 	}
@@ -4351,9 +4341,8 @@
 	VFS_UNLOCK_GIANT(vfslocked);
 
 	/* XXX AUDIT */
-	if (AUDIT_vp != NULL) {
-		if (AUDITING_TD(curthread))
-			nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
+	if (AUDITING_TD(curthread) && AUDIT_vp != NULL) {
+		nfsrv_auditpath(AUDIT_vp, NULL, NULL, fhp, 1);
 		vfslocked = VFS_LOCK_GIANT(AUDIT_vp->v_mount);
 		vrele(AUDIT_vp);
 		VFS_UNLOCK_GIANT(vfslocked);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006071711.o57HBntW023829>