diff options
Diffstat (limited to 'fs/jffs2/acl.c')
| -rw-r--r-- | fs/jffs2/acl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/jffs2/acl.c b/fs/jffs2/acl.c index 320dd48b834e..0ae3cd10702c 100644 --- a/fs/jffs2/acl.c +++ b/fs/jffs2/acl.c | |||
| @@ -267,6 +267,8 @@ static int jffs2_set_acl(struct inode *inode, int type, struct posix_acl *acl) | |||
| 267 | } | 267 | } |
| 268 | 268 | ||
| 269 | rc = do_jffs2_setxattr(inode, xprefix, "", value, size, 0); | 269 | rc = do_jffs2_setxattr(inode, xprefix, "", value, size, 0); |
| 270 | if (!value && rc == -ENODATA) | ||
| 271 | rc = 0; | ||
| 270 | if (value) | 272 | if (value) |
| 271 | kfree(value); | 273 | kfree(value); |
| 272 | if (!rc) { | 274 | if (!rc) { |
| @@ -343,10 +345,8 @@ int jffs2_init_acl(struct inode *inode, struct inode *dir) | |||
| 343 | return rc; | 345 | return rc; |
| 344 | } | 346 | } |
| 345 | 347 | ||
| 346 | void jffs2_clear_acl(struct inode *inode) | 348 | void jffs2_clear_acl(struct jffs2_inode_info *f) |
| 347 | { | 349 | { |
| 348 | struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode); | ||
| 349 | |||
| 350 | if (f->i_acl_access && f->i_acl_access != JFFS2_ACL_NOT_CACHED) { | 350 | if (f->i_acl_access && f->i_acl_access != JFFS2_ACL_NOT_CACHED) { |
| 351 | posix_acl_release(f->i_acl_access); | 351 | posix_acl_release(f->i_acl_access); |
| 352 | f->i_acl_access = JFFS2_ACL_NOT_CACHED; | 352 | f->i_acl_access = JFFS2_ACL_NOT_CACHED; |
