android_kernel_oneplus_msm8998/fs/ext2
Jan Kara 57c9cfdb61 posix_acl: Clear SGID bit when setting file permissions
commit 073931017b49d9458aa351605b43a7e34598caef upstream.

When file permissions are modified via chmod(2) and the user is not in
the owning group or capable of CAP_FSETID, the setgid bit is cleared in
inode_change_ok().  Setting a POSIX ACL via setxattr(2) sets the file
permissions as well as the new ACL, but doesn't clear the setgid bit in
a similar way; this allows to bypass the check in chmod(2).  Fix that.

References: CVE-2016-7097
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-10-31 04:13:58 -06:00
..
acl.c posix_acl: Clear SGID bit when setting file permissions 2016-10-31 04:13:58 -06:00
acl.h ext2/3/4: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
balloc.c Ext2: remove the static function release_blocks to optimize the kernel 2013-02-07 16:44:56 +01:00
dir.c pagemap.h: move dir_pages() over there 2015-06-23 18:02:00 -04:00
ext2.h ext2: Add locking for DAX faults 2015-10-19 14:40:54 +02:00
file.c ext2: Add locking for DAX faults 2015-10-19 14:40:54 +02:00
ialloc.c ext2: Handle error from dquot_initalize() 2015-07-23 20:59:37 +02:00
inode.c ext2: Add locking for DAX faults 2015-10-19 14:40:54 +02:00
ioctl.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
Kconfig vfs,ext2: remove CONFIG_EXT2_FS_XIP and rename CONFIG_FS_XIP to CONFIG_FS_DAX 2015-02-16 17:56:04 -08:00
Makefile ext2: remove xip.c and xip.h 2015-02-16 17:56:03 -08:00
namei.c fs/ext2/namei.c: remove unnecessary new_valid_dev() check 2015-11-09 15:11:24 -08:00
super.c ext2, ext4: warn when mounting with dax enabled 2015-11-16 09:43:54 -08:00
symlink.c ext2: use simple_follow_link() 2015-05-10 22:18:21 -04:00
xattr.c xattr handlers: Pass handler to operations instead of flags 2015-11-13 20:34:32 -05:00
xattr.h ext2/3/4: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
xattr_security.c xattr handlers: Pass handler to operations instead of flags 2015-11-13 20:34:32 -05:00
xattr_trusted.c xattr handlers: Pass handler to operations instead of flags 2015-11-13 20:34:32 -05:00
xattr_user.c xattr handlers: Pass handler to operations instead of flags 2015-11-13 20:34:32 -05:00