diff options
Diffstat (limited to 'fs/jffs2/acl.c')
-rw-r--r-- | fs/jffs2/acl.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/jffs2/acl.c b/fs/jffs2/acl.c index 54a92fd02bbd..828a0e1ea438 100644 --- a/fs/jffs2/acl.c +++ b/fs/jffs2/acl.c | |||
@@ -259,11 +259,14 @@ static int jffs2_set_acl(struct inode *inode, int type, struct posix_acl *acl) | |||
259 | return rc; | 259 | return rc; |
260 | } | 260 | } |
261 | 261 | ||
262 | int jffs2_check_acl(struct inode *inode, int mask) | 262 | int jffs2_check_acl(struct inode *inode, int mask, unsigned int flags) |
263 | { | 263 | { |
264 | struct posix_acl *acl; | 264 | struct posix_acl *acl; |
265 | int rc; | 265 | int rc; |
266 | 266 | ||
267 | if (flags & IPERM_FLAG_RCU) | ||
268 | return -ECHILD; | ||
269 | |||
267 | acl = jffs2_get_acl(inode, ACL_TYPE_ACCESS); | 270 | acl = jffs2_get_acl(inode, ACL_TYPE_ACCESS); |
268 | if (IS_ERR(acl)) | 271 | if (IS_ERR(acl)) |
269 | return PTR_ERR(acl); | 272 | return PTR_ERR(acl); |
@@ -399,7 +402,7 @@ static int jffs2_acl_setxattr(struct dentry *dentry, const char *name, | |||
399 | 402 | ||
400 | if (name[0] != '\0') | 403 | if (name[0] != '\0') |
401 | return -EINVAL; | 404 | return -EINVAL; |
402 | if (!is_owner_or_cap(dentry->d_inode)) | 405 | if (!inode_owner_or_capable(dentry->d_inode)) |
403 | return -EPERM; | 406 | return -EPERM; |
404 | 407 | ||
405 | if (value) { | 408 | if (value) { |