From owner-p4-projects Mon Aug 19 13:20:52 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9877E37B401; Mon, 19 Aug 2002 13:20:43 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4A31337B400 for ; Mon, 19 Aug 2002 13:20:43 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id DA42343E65 for ; Mon, 19 Aug 2002 13:20:42 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from freefall.freebsd.org (perforce@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g7JKKgJU053458 for ; Mon, 19 Aug 2002 13:20:42 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g7JKKgct053448 for perforce@freebsd.org; Mon, 19 Aug 2002 13:20:42 -0700 (PDT) Date: Mon, 19 Aug 2002 13:20:42 -0700 (PDT) Message-Id: <200208192020.g7JKKgct053448@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson Subject: PERFORCE change 16297 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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