android_kernel_oneplus_msm8998/fs/9p
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 9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate() 2013-02-26 02:46:07 -05:00
cache.c 9p: remove unused 'p9_fid' struct pointer 2013-11-23 16:10:31 -06:00
cache.h fs: 9p: cache.h: Add #define of include guard 2015-11-11 02:19:50 -05:00
fid.c 9p: switch to %p[dD] 2014-10-09 02:39:04 -04:00
fid.h 9p: v9fs_fid_add() can't fail now 2013-02-28 01:18:14 -05:00
Kconfig fs/9p: xattr: add trusted and security namespaces 2013-07-07 22:02:18 -05:00
Makefile 9p: xattr simplifications 2015-11-13 20:34:33 -05:00
v9fs.c 9p: remove unused option Opt_trans 2015-08-23 14:21:16 -05:00
v9fs.h 9p: don't bother with __getname() in ->follow_link() 2015-05-10 22:18:19 -04:00
v9fs_vfs.h 9p: switch p9_client_read() to passing struct iov_iter * 2015-04-11 22:28:27 -04:00
vfs_addr.c 9p: patches for 4.1 merge window 2015-04-18 17:45:30 -04:00
vfs_dentry.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
vfs_dir.c fs/9p: fix readdir() 2015-04-24 15:45:03 -04:00
vfs_file.c 9p: use file_dentry() 2016-08-10 11:49:27 +02:00
vfs_inode.c 9p: ->evict_inode() should kick out ->i_data, not ->i_mapping 2015-12-08 14:51:16 -05:00
vfs_inode_dotl.c fs/9p: remove unnecessary new_valid_dev() checks 2015-11-09 15:11:24 -08:00
vfs_super.c v9fs: fix error handling in v9fs_session_init() 2015-06-08 09:05:06 -06:00
xattr.c 9p: xattr simplifications 2015-11-13 20:34:33 -05:00
xattr.h 9p: xattr simplifications 2015-11-13 20:34:33 -05:00