Author: rwatson
Date: Sun Mar  8 12:32:06 2009
New Revision: 189533
URL: http://svn.freebsd.org/changeset/base/189533

Log:
  Remove 'uio' argument from MAC Framework and MAC policy entry points for
  extended attribute get/set; in the case of get an uninitialized user
  buffer was passed before the EA was retrieved, making it of relatively
  little use; the latter was simply unused by any policies.
  
  Obtained from:        TrustedBSD Project
  Sponsored by: Google, Inc.

Modified:
  head/sys/kern/vfs_extattr.c
  head/sys/security/mac/mac_framework.h
  head/sys/security/mac/mac_policy.h
  head/sys/security/mac/mac_vfs.c
  head/sys/security/mac_biba/mac_biba.c
  head/sys/security/mac_bsdextended/ugidfw_internal.h
  head/sys/security/mac_bsdextended/ugidfw_vnode.c
  head/sys/security/mac_lomac/mac_lomac.c
  head/sys/security/mac_mls/mac_mls.c
  head/sys/security/mac_stub/mac_stub.c
  head/sys/security/mac_test/mac_test.c

Modified: head/sys/kern/vfs_extattr.c
==============================================================================
--- head/sys/kern/vfs_extattr.c Sun Mar  8 12:22:00 2009        (r189532)
+++ head/sys/kern/vfs_extattr.c Sun Mar  8 12:32:06 2009        (r189533)
@@ -195,7 +195,7 @@ extattr_set_vp(struct vnode *vp, int att
 
 #ifdef MAC
        error = mac_vnode_check_setextattr(td->td_ucred, vp, attrnamespace,
-           attrname, &auio);
+           attrname);
        if (error)
                goto done;
 #endif
@@ -373,7 +373,7 @@ extattr_get_vp(struct vnode *vp, int att
 
 #ifdef MAC
        error = mac_vnode_check_getextattr(td->td_ucred, vp, attrnamespace,
-           attrname, &auio);
+           attrname);
        if (error)
                goto done;
 #endif

Modified: head/sys/security/mac/mac_framework.h
==============================================================================
--- head/sys/security/mac/mac_framework.h       Sun Mar  8 12:22:00 2009        
(r189532)
+++ head/sys/security/mac/mac_framework.h       Sun Mar  8 12:32:06 2009        
(r189533)
@@ -85,7 +85,6 @@ struct pipepair;
 struct thread;
 struct timespec;
 struct ucred;
-struct uio;
 struct vattr;
 struct vnode;
 struct vop_setlabel_args;
@@ -377,7 +376,7 @@ int mac_vnode_check_exec(struct ucred *c
 int    mac_vnode_check_getacl(struct ucred *cred, struct vnode *vp,
            acl_type_t type);
 int    mac_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
-           int attrnamespace, const char *name, struct uio *uio);
+           int attrnamespace, const char *name);
 int    mac_vnode_check_link(struct ucred *cred, struct vnode *dvp,
            struct vnode *vp, struct componentname *cnp);
 int    mac_vnode_check_listextattr(struct ucred *cred, struct vnode *vp,
@@ -404,7 +403,7 @@ int mac_vnode_check_revoke(struct ucred 
 int    mac_vnode_check_setacl(struct ucred *cred, struct vnode *vp,
            acl_type_t type, struct acl *acl);
 int    mac_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-           int attrnamespace, const char *name, struct uio *uio);
+           int attrnamespace, const char *name);
 int    mac_vnode_check_setflags(struct ucred *cred, struct vnode *vp,
            u_long flags);
 int    mac_vnode_check_setmode(struct ucred *cred, struct vnode *vp,

Modified: head/sys/security/mac/mac_policy.h
==============================================================================
--- head/sys/security/mac/mac_policy.h  Sun Mar  8 12:22:00 2009        
(r189532)
+++ head/sys/security/mac/mac_policy.h  Sun Mar  8 12:32:06 2009        
(r189533)
@@ -97,7 +97,6 @@ struct sysctl_oid;
 struct sysctl_req;
 struct thread;
 struct ucred;
-struct uio;
 struct vattr;
 struct vnode;
 
@@ -557,7 +556,7 @@ typedef int (*mpo_vnode_check_getacl_t)(
                    acl_type_t type);
 typedef int    (*mpo_vnode_check_getextattr_t)(struct ucred *cred,
                    struct vnode *vp, struct label *vplabel,
-                   int attrnamespace, const char *name, struct uio *uio);
+                   int attrnamespace, const char *name);
 typedef int    (*mpo_vnode_check_link_t)(struct ucred *cred,
                    struct vnode *dvp, struct label *dvplabel,
                    struct vnode *vp, struct label *vplabel,
@@ -606,7 +605,7 @@ typedef int (*mpo_vnode_check_setacl_t)(
                    struct acl *acl);
 typedef int    (*mpo_vnode_check_setextattr_t)(struct ucred *cred,
                    struct vnode *vp, struct label *vplabel,
-                   int attrnamespace, const char *name, struct uio *uio);
+                   int attrnamespace, const char *name);
 typedef int    (*mpo_vnode_check_setflags_t)(struct ucred *cred,
                    struct vnode *vp, struct label *vplabel, u_long flags);
 typedef int    (*mpo_vnode_check_setmode_t)(struct ucred *cred,

Modified: head/sys/security/mac/mac_vfs.c
==============================================================================
--- head/sys/security/mac/mac_vfs.c     Sun Mar  8 12:22:00 2009        
(r189532)
+++ head/sys/security/mac/mac_vfs.c     Sun Mar  8 12:32:06 2009        
(r189533)
@@ -506,14 +506,14 @@ MAC_CHECK_PROBE_DEFINE4(vnode_check_gete
 
 int
 mac_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
-    int attrnamespace, const char *name, struct uio *uio)
+    int attrnamespace, const char *name)
 {
        int error;
 
        ASSERT_VOP_LOCKED(vp, "mac_vnode_check_getextattr");
 
        MAC_CHECK(vnode_check_getextattr, cred, vp, vp->v_label,
-           attrnamespace, name, uio);
+           attrnamespace, name);
        MAC_CHECK_PROBE4(vnode_check_getextattr, error, cred, vp,
            attrnamespace, name);
 
@@ -798,14 +798,14 @@ MAC_CHECK_PROBE_DEFINE4(vnode_check_sete
 
 int
 mac_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-    int attrnamespace, const char *name, struct uio *uio)
+    int attrnamespace, const char *name)
 {
        int error;
 
        ASSERT_VOP_LOCKED(vp, "mac_vnode_check_setextattr");
 
        MAC_CHECK(vnode_check_setextattr, cred, vp, vp->v_label,
-           attrnamespace, name, uio);
+           attrnamespace, name);
        MAC_CHECK_PROBE4(vnode_check_setextattr, error, cred, vp,
            attrnamespace, name);
 

Modified: head/sys/security/mac_biba/mac_biba.c
==============================================================================
--- head/sys/security/mac_biba/mac_biba.c       Sun Mar  8 12:22:00 2009        
(r189532)
+++ head/sys/security/mac_biba/mac_biba.c       Sun Mar  8 12:32:06 2009        
(r189533)
@@ -2775,8 +2775,7 @@ biba_vnode_check_getacl(struct ucred *cr
 
 static int
 biba_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
        struct mac_biba *subj, *obj;
 
@@ -3116,8 +3115,7 @@ biba_vnode_check_setacl(struct ucred *cr
 
 static int
 biba_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
        struct mac_biba *subj, *obj;
 

Modified: head/sys/security/mac_bsdextended/ugidfw_internal.h
==============================================================================
--- head/sys/security/mac_bsdextended/ugidfw_internal.h Sun Mar  8 12:22:00 
2009        (r189532)
+++ head/sys/security/mac_bsdextended/ugidfw_internal.h Sun Mar  8 12:32:06 
2009        (r189533)
@@ -72,8 +72,7 @@ int   ugidfw_vnode_check_exec(struct ucred
 int    ugidfw_vnode_check_getacl(struct ucred *cred, struct vnode *vp,
            struct label *vplabel, acl_type_t type);
 int    ugidfw_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
-           struct label *vplabel, int attrnamespace, const char *name,
-           struct uio *uio);
+           struct label *vplabel, int attrnamespace, const char *name);
 int    ugidfw_vnode_check_link(struct ucred *cred, struct vnode *dvp,
            struct label *dvplabel, struct vnode *vp, struct label *label,
            struct componentname *cnp);
@@ -98,8 +97,7 @@ int   ugidfw_vnode_check_revoke(struct ucr
 int    ugidfw_check_setacl_vnode(struct ucred *cred, struct vnode *vp,
            struct label *vplabel, acl_type_t type, struct acl *acl);
 int    ugidfw_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-           struct label *vplabel, int attrnamespace, const char *name,
-           struct uio *uio);
+           struct label *vplabel, int attrnamespace, const char *name);
 int    ugidfw_vnode_check_setflags(struct ucred *cred, struct vnode *vp,
            struct label *vplabel, u_long flags);
 int    ugidfw_vnode_check_setmode(struct ucred *cred, struct vnode *vp,

Modified: head/sys/security/mac_bsdextended/ugidfw_vnode.c
==============================================================================
--- head/sys/security/mac_bsdextended/ugidfw_vnode.c    Sun Mar  8 12:22:00 
2009        (r189532)
+++ head/sys/security/mac_bsdextended/ugidfw_vnode.c    Sun Mar  8 12:32:06 
2009        (r189533)
@@ -127,8 +127,7 @@ ugidfw_vnode_check_getacl(struct ucred *
 
 int
 ugidfw_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
 
        return (ugidfw_check_vp(cred, vp, MBI_READ));
@@ -236,8 +235,7 @@ ugidfw_check_setacl_vnode(struct ucred *
 
 int
 ugidfw_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
 
        return (ugidfw_check_vp(cred, vp, MBI_WRITE));

Modified: head/sys/security/mac_lomac/mac_lomac.c
==============================================================================
--- head/sys/security/mac_lomac/mac_lomac.c     Sun Mar  8 12:22:00 2009        
(r189532)
+++ head/sys/security/mac_lomac/mac_lomac.c     Sun Mar  8 12:32:06 2009        
(r189533)
@@ -2631,8 +2631,7 @@ lomac_vnode_check_setacl(struct ucred *c
 
 static int
 lomac_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
        struct mac_lomac *subj, *obj;
 

Modified: head/sys/security/mac_mls/mac_mls.c
==============================================================================
--- head/sys/security/mac_mls/mac_mls.c Sun Mar  8 12:22:00 2009        
(r189532)
+++ head/sys/security/mac_mls/mac_mls.c Sun Mar  8 12:32:06 2009        
(r189533)
@@ -2398,8 +2398,7 @@ mls_vnode_check_getacl(struct ucred *cre
 
 static int
 mls_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
        struct mac_mls *subj, *obj;
 
@@ -2739,8 +2738,7 @@ mls_vnode_check_setacl(struct ucred *cre
 
 static int
 mls_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
        struct mac_mls *subj, *obj;
 

Modified: head/sys/security/mac_stub/mac_stub.c
==============================================================================
--- head/sys/security/mac_stub/mac_stub.c       Sun Mar  8 12:22:00 2009        
(r189532)
+++ head/sys/security/mac_stub/mac_stub.c       Sun Mar  8 12:32:06 2009        
(r189533)
@@ -1283,8 +1283,7 @@ stub_vnode_check_getacl(struct ucred *cr
 
 static int
 stub_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
 
        return (0);
@@ -1422,8 +1421,7 @@ stub_vnode_check_setacl(struct ucred *cr
 
 static int
 stub_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
 
        return (0);

Modified: head/sys/security/mac_test/mac_test.c
==============================================================================
--- head/sys/security/mac_test/mac_test.c       Sun Mar  8 12:22:00 2009        
(r189532)
+++ head/sys/security/mac_test/mac_test.c       Sun Mar  8 12:32:06 2009        
(r189533)
@@ -2435,8 +2435,7 @@ test_vnode_check_getacl(struct ucred *cr
 COUNTER_DECL(vnode_check_getextattr);
 static int
 test_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
 
        LABEL_CHECK(cred->cr_label, MAGIC_CRED);
@@ -2642,8 +2641,7 @@ test_vnode_check_setacl(struct ucred *cr
 COUNTER_DECL(vnode_check_setextattr);
 static int
 test_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
-    struct label *vplabel, int attrnamespace, const char *name,
-    struct uio *uio)
+    struct label *vplabel, int attrnamespace, const char *name)
 {
 
        LABEL_CHECK(cred->cr_label, MAGIC_CRED);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to