android_kernel_oneplus_msm8998/fs/9p
Tuomas Tynkkynen 8709c53861 fs/9p: Compare qid.path in v9fs_test_inode
commit 8ee031631546cf2f7859cc69593bd60bbdd70b46 upstream.

Commit fd2421f544 ("fs/9p: When doing inode lookup compare qid details
and inode mode bits.") transformed v9fs_qid_iget() to use iget5_locked()
instead of iget_locked(). However, the test() callback is not checking
fid.path at all, which means that a lookup in the inode cache can now
accidentally locate a completely wrong inode from the same inode hash
bucket if the other fields (qid.type and qid.version) match.

Fixes: fd2421f544 ("fs/9p: When doing inode lookup compare qid details and inode mode bits.")
Reviewed-by: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-30 08:37:22 +00:00
..
acl.c FROMLIST: 9p: fix a potential acl leak 2017-04-21 11:09:12 -07: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 fs/9p: Compare qid.path in v9fs_test_inode 2017-11-30 08:37:22 +00:00
vfs_inode_dotl.c fs/9p: Compare qid.path in v9fs_test_inode 2017-11-30 08:37:22 +00: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