diff options
Diffstat (limited to 'fs/attr.c')
-rw-r--r-- | fs/attr.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -42,7 +42,7 @@ int inode_change_ok(struct inode *inode, struct iattr *attr) | |||
42 | 42 | ||
43 | /* Make sure a caller can chmod. */ | 43 | /* Make sure a caller can chmod. */ |
44 | if (ia_valid & ATTR_MODE) { | 44 | if (ia_valid & ATTR_MODE) { |
45 | if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER)) | 45 | if (!is_owner_or_cap(inode)) |
46 | goto error; | 46 | goto error; |
47 | /* Also check the setgid bit! */ | 47 | /* Also check the setgid bit! */ |
48 | if (!in_group_p((ia_valid & ATTR_GID) ? attr->ia_gid : | 48 | if (!in_group_p((ia_valid & ATTR_GID) ? attr->ia_gid : |
@@ -52,7 +52,7 @@ int inode_change_ok(struct inode *inode, struct iattr *attr) | |||
52 | 52 | ||
53 | /* Check for setting the inode time. */ | 53 | /* Check for setting the inode time. */ |
54 | if (ia_valid & (ATTR_MTIME_SET | ATTR_ATIME_SET)) { | 54 | if (ia_valid & (ATTR_MTIME_SET | ATTR_ATIME_SET)) { |
55 | if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER)) | 55 | if (!is_owner_or_cap(inode)) |
56 | goto error; | 56 | goto error; |
57 | } | 57 | } |
58 | fine: | 58 | fine: |