Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Aug 2002 13:20:42 -0700 (PDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 16297 for review
Message-ID:  <200208192020.g7JKKgct053448@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=16297

Change 16297 by rwatson@rwatson_paprika on 2002/08/19 13:20:36

	Attempt to more consistently perform locking assertions before
	implementing any code (even enforcement enable checks) in
	MAC entry points.

Affected files ...

.. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#251 edit

Differences ...

==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#251 (text+ko) ====

@@ -1811,16 +1811,17 @@
 {
 	int error;
 
+	ASSERT_VOP_LOCKED(vp, "mac_check_vnode_poll");
+
 	if (!mac_enforce_fs)
 		return (0);
 
-	ASSERT_VOP_LOCKED(vp, "mac_check_vnode_poll");
-
 	error = vn_refreshlabel(vp, active_cred);
 	if (error)
 		return (error);
 
-	MAC_CHECK(check_vnode_poll, active_cred, file_cred, vp, &vp->v_label);
+	MAC_CHECK(check_vnode_poll, active_cred, file_cred, vp,
+	    &vp->v_label);
 
 	return (error);
 }
@@ -1831,16 +1832,17 @@
 {
 	int error;
 
+	ASSERT_VOP_LOCKED(vp, "mac_check_vnode_read");
+
 	if (!mac_enforce_fs)
 		return (0);
 
-	ASSERT_VOP_LOCKED(vp, "mac_check_vnode_read");
-
 	error = vn_refreshlabel(vp, active_cred);
 	if (error)
 		return (error);
 
-	MAC_CHECK(check_vnode_read, active_cred, file_cred, vp, &vp->v_label);
+	MAC_CHECK(check_vnode_read, active_cred, file_cred, vp,
+	    &vp->v_label);
 
 	return (error);
 }
@@ -2105,16 +2107,17 @@
 {
 	int error;
 
+	ASSERT_VOP_LOCKED(vp, "mac_check_vnode_write");
+
 	if (!mac_enforce_fs)
 		return (0);
 
-	ASSERT_VOP_LOCKED(vp, "mac_check_vnode_write");
-
 	error = vn_refreshlabel(vp, active_cred);
 	if (error)
 		return (error);
 
-	MAC_CHECK(check_vnode_write, active_cred, file_cred, vp, &vp->v_label);
+	MAC_CHECK(check_vnode_write, active_cred, file_cred, vp,
+	    &vp->v_label);
 
 	return (error);
 }
@@ -2616,11 +2619,11 @@
 {
 	int error;
 
+	PROC_LOCK_ASSERT(proc, MA_OWNED);
+
 	if (!mac_enforce_process)
 		return (0);
 
-	PROC_LOCK_ASSERT(proc, MA_OWNED);
-
 	MAC_CHECK(check_proc_debug, cred, proc);
 
 	return (error);
@@ -2631,11 +2634,11 @@
 {
 	int error;
 
+	PROC_LOCK_ASSERT(proc, MA_OWNED);
+
 	if (!mac_enforce_process)
 		return (0);
 
-	PROC_LOCK_ASSERT(proc, MA_OWNED);
-
 	MAC_CHECK(check_proc_sched, cred, proc);
 
 	return (error);
@@ -2646,11 +2649,11 @@
 {
 	int error;
 
+	PROC_LOCK_ASSERT(proc, MA_OWNED);
+
 	if (!mac_enforce_process)
 		return (0);
 
-	PROC_LOCK_ASSERT(proc, MA_OWNED);
-
 	MAC_CHECK(check_proc_signal, cred, proc, signum);
 
 	return (error);

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




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