]> git.karo-electronics.de Git - linux-beck.git/blobdiff - fs/ext4/acl.c
Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check
[linux-beck.git] / fs / ext4 / acl.c
index 0a965dd5664ef4e5b343e9227a36a4f3f1fee7f2..a8bae8cd1d5de707c9a8772464ca4ecaa93044ed 100644 (file)
@@ -141,7 +141,7 @@ ext4_iget_acl(struct inode *inode, struct posix_acl **i_acl)
 
 static inline void
 ext4_iset_acl(struct inode *inode, struct posix_acl **i_acl,
-                  struct posix_acl *acl)
+               struct posix_acl *acl)
 {
        spin_lock(&inode->i_lock);
        if (*i_acl != EXT4_ACL_NOT_CACHED)
@@ -375,7 +375,7 @@ int
 ext4_acl_chmod(struct inode *inode)
 {
        struct posix_acl *acl, *clone;
-        int error;
+       int error;
 
        if (S_ISLNK(inode->i_mode))
                return -EOPNOTSUPP;
@@ -489,7 +489,7 @@ ext4_xattr_set_acl(struct inode *inode, int type, const void *value,
 
        if (!test_opt(inode->i_sb, POSIX_ACL))
                return -EOPNOTSUPP;
-       if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
+       if (!is_owner_or_cap(inode))
                return -EPERM;
 
        if (value) {