From owner-p4-projects Sun Jul 21 16:39:26 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 708CF37B401; Sun, 21 Jul 2002 16:39:12 -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 D1C4737B400 for ; Sun, 21 Jul 2002 16:39:11 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6E10243E42 for ; Sun, 21 Jul 2002 16:39:11 -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 g6LNdBJU066552 for ; Sun, 21 Jul 2002 16:39:11 -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 g6LNdBqP066549 for perforce@freebsd.org; Sun, 21 Jul 2002 16:39:11 -0700 (PDT) Date: Sun, 21 Jul 2002 16:39:11 -0700 (PDT) Message-Id: <200207212339.g6LNdBqP066549@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 14647 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=14647 Change 14647 by rwatson@rwatson_curry on 2002/07/21 16:38:23 Pass name information on vnode creation so that policies may make decisions based on the requested name. No policies currently do. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#184 edit .. //depot/projects/trustedbsd/mac/sys/kern/uipc_usrreq.c#17 edit .. //depot/projects/trustedbsd/mac/sys/kern/vfs_syscalls.c#57 edit .. //depot/projects/trustedbsd/mac/sys/kern/vfs_vnops.c#25 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#60 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#39 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#48 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_none/mac_none.c#41 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_te/mac_te.c#43 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#11 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#117 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#80 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/kern_mac.c#184 (text+ko) ==== @@ -1600,7 +1600,7 @@ int mac_cred_check_create_vnode(struct ucred *cred, struct vnode *dvp, - struct vattr *vap) + struct componentname *cnp, struct vattr *vap) { int error; @@ -1613,7 +1613,7 @@ if (error) return (error); - MAC_CHECK(cred_check_create_vnode, cred, dvp, &dvp->v_label, vap); + MAC_CHECK(cred_check_create_vnode, cred, dvp, &dvp->v_label, cnp, vap); return (error); } ==== //depot/projects/trustedbsd/mac/sys/kern/uipc_usrreq.c#17 (text+ko) ==== @@ -639,7 +639,8 @@ vattr.va_mode = (ACCESSPERMS & ~td->td_proc->p_fd->fd_cmask); FILEDESC_UNLOCK(td->td_proc->p_fd); #ifdef MAC - error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, &vattr); + error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, + &nd.ni_cnd, &vattr); #endif /* MAC */ if (error == 0) { VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); ==== //depot/projects/trustedbsd/mac/sys/kern/vfs_syscalls.c#57 (text+ko) ==== @@ -1942,7 +1942,7 @@ #ifdef MAC if (error == 0 && !whiteout) error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, - &vattr); + &nd.ni_cnd, &vattr); #endif /* MAC */ if (!error) { VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); @@ -2011,7 +2011,8 @@ vattr.va_mode = (SCARG(uap, mode) & ALLPERMS) &~ td->td_proc->p_fd->fd_cmask; FILEDESC_UNLOCK(td->td_proc->p_fd); #ifdef MAC - error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, &vattr); + error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, + &nd.ni_cnd, &vattr); #endif /* MAC */ if (error == 0) { VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); @@ -2136,7 +2137,8 @@ FILEDESC_UNLOCK(td->td_proc->p_fd); vattr.va_type = VLNK; #ifdef MAC - error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, &vattr); + error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, + &nd.ni_cnd, &vattr); #endif /* MAC */ if (error == 0) { VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); @@ -3853,7 +3855,8 @@ vattr.va_mode = (mode & ACCESSPERMS) &~ td->td_proc->p_fd->fd_cmask; FILEDESC_UNLOCK(td->td_proc->p_fd); #ifdef MAC - error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, &vattr); + error = mac_cred_check_create_vnode(td->td_ucred, nd.ni_dvp, + &nd.ni_cnd, &vattr); #endif /* MAC */ if (error == 0) { VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); ==== //depot/projects/trustedbsd/mac/sys/kern/vfs_vnops.c#25 (text+ko) ==== @@ -140,7 +140,7 @@ } #ifdef MAC error = mac_cred_check_create_vnode(cred, ndp->ni_dvp, - vap); + &ndp->ni_cnd, vap); #endif /* MAC */ if (error == 0) { VOP_LEASE(ndp->ni_dvp, td, cred, LEASE_WRITE); ==== //depot/projects/trustedbsd/mac/sys/security/mac_biba/mac_biba.c#60 (text+ko) ==== @@ -1357,7 +1357,7 @@ static int mac_biba_cred_check_create_vnode(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vattr *vap) + struct label *dlabel, struct componentname *cnp, struct vattr *vap) { struct mac_biba *subj, *obj; ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#39 (text+ko) ==== @@ -338,7 +338,7 @@ static int mac_bsdextended_cred_check_create_vnode(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vattr *vap) + struct label *dlabel, struct componentname *cnp, struct vattr *vap) { struct vattr dvap; int error; ==== //depot/projects/trustedbsd/mac/sys/security/mac_mls/mac_mls.c#48 (text+ko) ==== @@ -1300,7 +1300,7 @@ static int mac_mls_cred_check_create_vnode(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vattr *vap) + struct label *dlabel, struct componentname *cnp, struct vattr *vap) { struct mac_mls *subj, *obj; ==== //depot/projects/trustedbsd/mac/sys/security/mac_none/mac_none.c#41 (text+ko) ==== @@ -621,7 +621,7 @@ static int mac_none_cred_check_create_vnode(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vattr *vap) + struct label *dlabel, struct componentname *cnp, struct vattr *vap) { return (0); ==== //depot/projects/trustedbsd/mac/sys/security/mac_te/mac_te.c#43 (text+ko) ==== @@ -1309,7 +1309,7 @@ static int mac_te_cred_check_create_vnode(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vattr *vap) + struct label *dlabel, struct componentname *cnp, struct vattr *vap) { return (mac_te_check(SLOT(&cred->cr_label), SLOT(dlabel), ==== //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#11 (text+ko) ==== @@ -814,7 +814,7 @@ static int mac_test_cred_check_create_vnode(struct ucred *cred, struct vnode *dvp, - struct label *dlabel, struct vattr *vap) + struct label *dlabel, struct componentname *cnp, struct vattr *vap) { return (0); ==== //depot/projects/trustedbsd/mac/sys/sys/mac.h#117 (text+ko) ==== @@ -252,7 +252,7 @@ int mac_cred_check_connect_socket(struct ucred *cred, struct socket *so, struct sockaddr *sa); int mac_cred_check_create_vnode(struct ucred *cred, struct vnode *dvp, - struct vattr *vap); + struct componentname *cnp, struct vattr *vap); int mac_cred_check_deleteacl_vnode(struct ucred *cred, struct vnode *vp, acl_type_t type); int mac_cred_check_getacl_vnode(struct ucred *cred, struct vnode *vp, ==== //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#80 (text+ko) ==== @@ -256,7 +256,7 @@ struct vnode *dvp, struct label *dlabel); int (*mpo_cred_check_create_vnode)(struct ucred *cred, struct vnode *dvp, struct label *dlabel, - struct vattr *vap); + struct componentname *cnp, struct vattr *vap); int (*mpo_cred_check_delete_vnode)(struct ucred *cred, struct vnode *dvp, struct label *dlabel, struct vnode *vp, void *label); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message