Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jul 2002 13:19:45 -0700 (PDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 14629 for review
Message-ID:  <200207212019.g6LKJjvW002868@freefall.freebsd.org>

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

Change 14629 by rwatson@rwatson_curry on 2002/07/21 13:18:49

	Provide the componentname from lookup()/namei() to the MAC
	framework and policies so that policies can make decisions
	based on the name.

Affected files ...

.. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#182 edit
.. //depot/projects/trustedbsd/mac/sys/kern/vfs_lookup.c#16 edit
.. //depot/projects/trustedbsd/mac/sys/sys/mac.h#116 edit
.. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#79 edit

Differences ...

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

@@ -1669,7 +1669,8 @@
 }
 
 int
-mac_cred_check_lookup_vnode(struct ucred *cred, struct vnode *dvp) 
+mac_cred_check_lookup_vnode(struct ucred *cred, struct vnode *dvp,
+    struct componentname *cnp)
 {
 	int error;
 		
@@ -1682,7 +1683,7 @@
 	if (error)
 		return (error);
 
-	MAC_CHECK(cred_check_lookup_vnode, cred, dvp, &dvp->v_label);
+	MAC_CHECK(cred_check_lookup_vnode, cred, dvp, &dvp->v_label, cnp);
 	return (error);
 }
 

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

@@ -573,7 +573,7 @@
 	 * Execute MAC lookup policy check here, in the heart of all
 	 * "sanctioned" lookup operations.
 	 */
-	error = mac_cred_check_lookup_vnode(td->td_ucred, dp);
+	error = mac_cred_check_lookup_vnode(td->td_ucred, dp, cnp);
 	if (error)
 		goto bad;
 #endif /* MAC */

==== //depot/projects/trustedbsd/mac/sys/sys/mac.h#116 (text+ko) ====

@@ -195,6 +195,7 @@
  * Kernel functions to manage and evaluate labels.
  */
 struct bpf_d;
+struct componentname;
 struct devfs_dirent;
 struct ifnet;
 struct ifreq;
@@ -260,7 +261,8 @@
 	    int attrnamespace, const char *name, struct uio *uio);
 int	mac_cred_check_listen_socket(struct ucred *cred,
 	    struct socket *socket);
-int	mac_cred_check_lookup_vnode(struct ucred *cred, struct vnode *dvp);
+int	mac_cred_check_lookup_vnode(struct ucred *cred, struct vnode *dvp,
+ 	    struct componentname *cnp);
 int	mac_cred_check_setacl_vnode(struct ucred *cred, struct vnode *vp,
 	    acl_type_t type, struct acl *acl);
 int	mac_cred_check_setextattr_vnode(struct ucred *cred, struct vnode *vp,

==== //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#79 (text+ko) ====

@@ -272,7 +272,8 @@
 	int	(*mpo_cred_check_listen_socket)(struct ucred *cred,
 		    struct socket *socket, struct label *socketlabel);
 	int	(*mpo_cred_check_lookup_vnode)(struct ucred *cred,
-		    struct vnode *dvp, struct label *dlabel);
+		    struct vnode *dvp, struct label *dlabel,
+		    struct componentname *cnp);
 	int	(*mpo_cred_check_open_vnode)(struct ucred *cred,
 		    struct vnode *vp, struct label *label,
 		    mode_t acc_mode);

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?200207212019.g6LKJjvW002868>