Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check
[safe/jmp/linux-2.6] / fs / ext4 / acl.c
index 9e88254..a8bae8c 100644 (file)
@@ -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) {