Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=002ef1dc63ded14507c110d3cf83d0c3f51374ab
Commit:     002ef1dc63ded14507c110d3cf83d0c3f51374ab
Parent:     1a2781cfa5ed8eb82bb311d684f268c1822dae69
Author:     Ryan O'Hara <[EMAIL PROTECTED]>
AuthorDate: Wed Nov 21 11:54:54 2007 -0600
Committer:  Steven Whitehouse <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 08:08:08 2008 +0000

    [GFS2] remove unnecessary permission checks
    
    Remove read/write permission() checks from xattr operations.
    VFS layer is already handling permission for xattrs via the
    xattr_permission() call, so there is no need for gfs2 to
    check permissions. Futhermore, using permission() for SELinux
    xattrs ops is incorrect.
    
    Signed-off-by: Ryan O'Hara <[EMAIL PROTECTED]>
    Signed-off-by: Steven Whitehouse <[EMAIL PROTECTED]>
---
 fs/gfs2/eaops.c |   30 ------------------------------
 1 files changed, 0 insertions(+), 30 deletions(-)

diff --git a/fs/gfs2/eaops.c b/fs/gfs2/eaops.c
index aa8dbf3..ef91b6e 100644
--- a/fs/gfs2/eaops.c
+++ b/fs/gfs2/eaops.c
@@ -59,9 +59,6 @@ unsigned int gfs2_ea_name2type(const char *name, const char 
**truncated_name)
 static int user_eo_get(struct gfs2_inode *ip, struct gfs2_ea_request *er)
 {
        struct inode *inode = &ip->i_inode;
-       int error = permission(inode, MAY_READ, NULL);
-       if (error)
-               return error;
 
        return gfs2_ea_get_i(ip, er);
 }
@@ -70,14 +67,6 @@ static int user_eo_set(struct gfs2_inode *ip, struct 
gfs2_ea_request *er)
 {
        struct inode *inode = &ip->i_inode;
 
-       if (S_ISREG(inode->i_mode) ||
-           (S_ISDIR(inode->i_mode) && !(inode->i_mode & S_ISVTX))) {
-               int error = permission(inode, MAY_WRITE, NULL);
-               if (error)
-                       return error;
-       } else
-               return -EPERM;
-
        return gfs2_ea_set_i(ip, er);
 }
 
@@ -85,14 +74,6 @@ static int user_eo_remove(struct gfs2_inode *ip, struct 
gfs2_ea_request *er)
 {
        struct inode *inode = &ip->i_inode;
 
-       if (S_ISREG(inode->i_mode) ||
-           (S_ISDIR(inode->i_mode) && !(inode->i_mode & S_ISVTX))) {
-               int error = permission(inode, MAY_WRITE, NULL);
-               if (error)
-                       return error;
-       } else
-               return -EPERM;
-
        return gfs2_ea_remove_i(ip, er);
 }
 
@@ -108,8 +89,6 @@ static int system_eo_get(struct gfs2_inode *ip, struct 
gfs2_ea_request *er)
             GFS2_ACL_IS_DEFAULT(er->er_name, er->er_name_len)))
                return -EOPNOTSUPP;
 
-
-
        return gfs2_ea_get_i(ip, er);
 }
 
@@ -173,9 +152,6 @@ static int system_eo_remove(struct gfs2_inode *ip, struct 
gfs2_ea_request *er)
 static int security_eo_get(struct gfs2_inode *ip, struct gfs2_ea_request *er)
 {
        struct inode *inode = &ip->i_inode;
-       int error = permission(inode, MAY_READ, NULL);
-       if (error)
-               return error;
 
        return gfs2_ea_get_i(ip, er);
 }
@@ -183,9 +159,6 @@ static int security_eo_get(struct gfs2_inode *ip, struct 
gfs2_ea_request *er)
 static int security_eo_set(struct gfs2_inode *ip, struct gfs2_ea_request *er)
 {
        struct inode *inode = &ip->i_inode;
-       int error = permission(inode, MAY_WRITE, NULL);
-       if (error)
-               return error;
 
        return gfs2_ea_set_i(ip, er);
 }
@@ -193,9 +166,6 @@ static int security_eo_set(struct gfs2_inode *ip, struct 
gfs2_ea_request *er)
 static int security_eo_remove(struct gfs2_inode *ip, struct gfs2_ea_request 
*er)
 {
        struct inode *inode = &ip->i_inode;
-       int error = permission(inode, MAY_WRITE, NULL);
-       if (error)
-               return error;
 
        return gfs2_ea_remove_i(ip, er);
 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to