diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2011-05-20 00:43:00 -0600 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-05-20 00:43:00 -0600 |
commit | 78fab4c04c76b8c9327541bd270f82b85b42bbf7 (patch) | |
tree | b43006348a1ac15c28e6791d08646809761a2a4a /fs/btrfs/acl.c | |
parent | 3b8a4dd3ebfcc647260ad5c39ef4f73eb3a6b155 (diff) | |
parent | 61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf (diff) |
Merge commit 'v2.6.39' into spi/next
Diffstat (limited to 'fs/btrfs/acl.c')
-rw-r--r-- | fs/btrfs/acl.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c index de34bfad9ec3..44ea5b92e1ba 100644 --- a/fs/btrfs/acl.c +++ b/fs/btrfs/acl.c @@ -178,16 +178,18 @@ static int btrfs_xattr_acl_set(struct dentry *dentry, const char *name, if (value) { acl = posix_acl_from_xattr(value, size); - if (acl == NULL) { - value = NULL; - size = 0; - } else if (IS_ERR(acl)) { + if (IS_ERR(acl)) return PTR_ERR(acl); + + if (acl) { + ret = posix_acl_valid(acl); + if (ret) + goto out; } } ret = btrfs_set_acl(NULL, dentry->d_inode, acl, type); - +out: posix_acl_release(acl); return ret; |