summaryrefslogtreecommitdiff
path: root/fs/xfs
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-04-24 06:47:51 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-04-24 06:47:50 -0700
commit5e10c8152d6dc63b50085300fe70735524b36e2d (patch)
tree923bce399b2a8f004b8a9a39644f9dbdcf1c506c /fs/xfs
parent22efcf6c1344e0b0797135fea1ca01419867b9d2 (diff)
parent1cfb2113468a2d82c28c596bfa271c9dea2a4c5e (diff)
Merge "ANDROID: fix acl leaks"
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/xfs_acl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/xfs/xfs_acl.c b/fs/xfs/xfs_acl.c
index c5101a3295d8..62ba66e1c598 100644
--- a/fs/xfs/xfs_acl.c
+++ b/fs/xfs/xfs_acl.c
@@ -289,8 +289,10 @@ xfs_set_acl(struct inode *inode, struct posix_acl *acl, int type)
if (type == ACL_TYPE_ACCESS) {
umode_t mode;
-
+ struct posix_acl *old_acl = acl;
error = posix_acl_update_mode(inode, &mode, &acl);
+ if (!acl)
+ posix_acl_release(old_acl);
if (error)
return error;
error = xfs_set_mode(inode, mode);