summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2016-11-22 14:06:03 -0800
committerJaegeuk Kim <jaegeuk@google.com>2017-09-25 15:01:36 -0700
commit91d38ba8414bdbe7161d2d02eddf5e671db0024d (patch)
tree5031a3794ebf51bf98c0384c7119fb744b0191c2
parentae81ccb3bdcd879f889d36dcec76fccdd2f329c4 (diff)
posix_acl: Clear SGID bit when setting file permissions
commit 073931017b49d9458aa351605b43a7e34598caef upstream. Cherry-pick to f2fs only for generic/375 from: (073931017: posix_acl: Clear SGID bit when setting file permissions) Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/acl.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/f2fs/acl.c b/fs/f2fs/acl.c
index fb0744b94c2f..4a34040932e9 100644
--- a/fs/f2fs/acl.c
+++ b/fs/f2fs/acl.c
@@ -215,12 +215,10 @@ static int __f2fs_set_acl(struct inode *inode, int type,
case ACL_TYPE_ACCESS:
name_index = F2FS_XATTR_INDEX_POSIX_ACL_ACCESS;
if (acl) {
- error = posix_acl_equiv_mode(acl, &inode->i_mode);
- if (error < 0)
+ error = posix_acl_update_mode(inode, &inode->i_mode, &acl);
+ if (error)
return error;
set_acl_inode(inode, inode->i_mode);
- if (error == 0)
- acl = NULL;
}
break;