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:
parent
bea6f1c779
commit
1cfb211346
2 changed files with 7 additions and 2 deletions
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue