From 851704bbd0764d1e5ecbcb0a5d84740aa8bbe4ca Mon Sep 17 00:00:00 2001 From: Robert Watson Date: Mon, 19 Aug 2002 15:28:39 +0000 Subject: Add a missing vnode assertion for the exec() check. Obtained from: TrustedBSD Project Sponsored by: DARPA, NAI Labs --- sys/security/mac/mac_framework.c | 2 ++ sys/security/mac/mac_internal.h | 2 ++ sys/security/mac/mac_net.c | 2 ++ sys/security/mac/mac_pipe.c | 2 ++ sys/security/mac/mac_process.c | 2 ++ sys/security/mac/mac_syscalls.c | 2 ++ sys/security/mac/mac_system.c | 2 ++ sys/security/mac/mac_vfs.c | 2 ++ 8 files changed, 16 insertions(+) (limited to 'sys/security/mac') diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c index c3d6dbf1dc74..abda929f8ea4 100644 --- a/sys/security/mac/mac_framework.c +++ b/sys/security/mac/mac_framework.c @@ -1677,6 +1677,8 @@ mac_check_vnode_exec(struct ucred *cred, struct vnode *vp) { int error; + ASSERT_VOP_LOCKED(vp, "mac_check_vnode_exec"); + if (!mac_enforce_process && !mac_enforce_fs) return (0); diff --git a/sys/security/mac/mac_internal.h b/sys/security/mac/mac_internal.h index c3d6dbf1dc74..abda929f8ea4 100644 --- a/sys/security/mac/mac_internal.h +++ b/sys/security/mac/mac_internal.h @@ -1677,6 +1677,8 @@ mac_check_vnode_exec(struct ucred *cred, struct vnode *vp) { int error; + ASSERT_VOP_LOCKED(vp, "mac_check_vnode_exec"); + if (!mac_enforce_process && !mac_enforce_fs) return (0); diff --git a/sys/security/mac/mac_net.c b/sys/security/mac/mac_net.c index c3d6dbf1dc74..abda929f8ea4 100644 --- a/sys/security/mac/mac_net.c +++ b/sys/security/mac/mac_net.c @@ -1677,6 +1677,8 @@ mac_check_vnode_exec(struct ucred *cred, struct vnode *vp) { int error; + ASSERT_VOP_LOCKED(vp, "mac_check_vnode_exec"); + if (!mac_enforce_process && !mac_enforce_fs) return (0); diff --git a/sys/security/mac/mac_pipe.c b/sys/security/mac/mac_pipe.c index c3d6dbf1dc74..abda929f8ea4 100644 --- a/sys/security/mac/mac_pipe.c +++ b/sys/security/mac/mac_pipe.c @@ -1677,6 +1677,8 @@ mac_check_vnode_exec(struct ucred *cred, struct vnode *vp) { int error; + ASSERT_VOP_LOCKED(vp, "mac_check_vnode_exec"); + if (!mac_enforce_process && !mac_enforce_fs) return (0); diff --git a/sys/security/mac/mac_process.c b/sys/security/mac/mac_process.c index c3d6dbf1dc74..abda929f8ea4 100644 --- a/sys/security/mac/mac_process.c +++ b/sys/security/mac/mac_process.c @@ -1677,6 +1677,8 @@ mac_check_vnode_exec(struct ucred *cred, struct vnode *vp) { int error; + ASSERT_VOP_LOCKED(vp, "mac_check_vnode_exec"); + if (!mac_enforce_process && !mac_enforce_fs) return (0); diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index c3d6dbf1dc74..abda929f8ea4 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -1677,6 +1677,8 @@ mac_check_vnode_exec(struct ucred *cred, struct vnode *vp) { int error; + ASSERT_VOP_LOCKED(vp, "mac_check_vnode_exec"); + if (!mac_enforce_process && !mac_enforce_fs) return (0); diff --git a/sys/security/mac/mac_system.c b/sys/security/mac/mac_system.c index c3d6dbf1dc74..abda929f8ea4 100644 --- a/sys/security/mac/mac_system.c +++ b/sys/security/mac/mac_system.c @@ -1677,6 +1677,8 @@ mac_check_vnode_exec(struct ucred *cred, struct vnode *vp) { int error; + ASSERT_VOP_LOCKED(vp, "mac_check_vnode_exec"); + if (!mac_enforce_process && !mac_enforce_fs) return (0); diff --git a/sys/security/mac/mac_vfs.c b/sys/security/mac/mac_vfs.c index c3d6dbf1dc74..abda929f8ea4 100644 --- a/sys/security/mac/mac_vfs.c +++ b/sys/security/mac/mac_vfs.c @@ -1677,6 +1677,8 @@ mac_check_vnode_exec(struct ucred *cred, struct vnode *vp) { int error; + ASSERT_VOP_LOCKED(vp, "mac_check_vnode_exec"); + if (!mac_enforce_process && !mac_enforce_fs) return (0); -- cgit v1.3