ANDROID: fix acl leaks

Fixes regressions associated with commit 073931017b49
("posix_acl: Clear SGID bit when setting file permissions")

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 32458736
Change-Id: I6ee127dfdf3594d24ccd8560541ac554c5b05eb6
[d-cagle@codeaurora.org: Resolve merge conflicts]
Git-repo: https://android.googlesource.com/kernel/msm/
Git-commit: 74d0e4d3d96d0ca82d39635318a69d55e966b767
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
This commit is contained in:
Mark Salyzyn 2017-01-23 12:56:41 -08:00 committed by Dennis Cagle
parent bea6f1c779
commit 1cfb211346
2 changed files with 7 additions and 2 deletions

View file

@ -78,8 +78,11 @@ int gfs2_set_acl(struct inode *inode, struct posix_acl *acl, int type)
if (type == ACL_TYPE_ACCESS) {
umode_t mode = inode->i_mode;
struct posix_acl *old_acl = acl;
error = posix_acl_update_mode(inode, &inode->i_mode, &acl);
if (!acl)
posix_acl_release(old_acl);
if (error)
return error;
if (mode != inode->i_mode)

View file

@ -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);