OpenCloudOS-Kernel/fs/9p
Eric Van Hensbergen 3a741b80b3 fs/9p: fix uninitialized values during inode evict
[ Upstream commit 6630036b7c228f57c7893ee0403e92c2db2cd21d ]

If an iget fails due to not being able to retrieve information
from the server then the inode structure is only partially
initialized.  When the inode gets evicted, references to
uninitialized structures (like fscache cookies) were being
made.

This patch checks for a bad_inode before doing anything other
than clearing the inode from the cache.  Since the inode is
bad, it shouldn't have any state associated with it that needs
to be written back (and there really isn't a way to complete
those anyways).

Reported-by: syzbot+eb83fe1cce5833cd66a0@syzkaller.appspotmail.com
Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[Xiangyu: CVE-2024-36923 Minor conflict resolution ]
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-22 15:38:37 +01:00
..
Kconfig 9p: Remove INET dependency 2023-05-04 21:46:57 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acl.c fs: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +01:00
acl.h fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
cache.c mm, netfs, fscache: stop read optimisation when folio removed from pagecache 2023-08-18 10:12:13 -07:00
cache.h fs/9p: Rework cache modes and add new options to Documentation 2023-04-09 21:41:21 +00:00
fid.c 9p: v9fs_fid_find: also lookup by inode if not found dentry 2024-11-17 15:08:55 +01:00
fid.h fs/9p: fix the cache always being enabled on files with qid flags 2024-05-17 12:02:18 +02:00
v9fs.c fs/9p: Remove unused extern declaration 2023-07-20 19:21:48 +00:00
v9fs.h fs/9p: Fix a datatype used with V9FS_DIRECT_IO 2023-07-10 13:04:37 +00:00
v9fs_vfs.h 9p: Fix initialisation of netfs_inode for 9p 2024-02-05 20:14:32 +00:00
vfs_addr.c Including fixes from netfilter. 2023-05-05 19:12:01 -07:00
vfs_dentry.c 9p: add missing locking around taking dentry fid list 2024-06-16 13:47:37 +02:00
vfs_dir.c 9p: fix ignored return value in v9fs_dir_release 2023-07-20 19:05:52 +00:00
vfs_file.c 9p: explicitly deny setlease attempts 2024-05-17 12:02:18 +02:00
vfs_inode.c fs/9p: fix uninitialized values during inode evict 2024-11-22 15:38:37 +01:00
vfs_inode_dotl.c 9p: Fix initialisation of netfs_inode for 9p 2024-02-05 20:14:32 +00:00
vfs_super.c fs/9p: drop inodes immediately on non-.L too 2024-05-17 12:02:19 +02:00
xattr.c 9p: v9fs_listxattr: fix %s null argument warning 2023-11-28 17:19:46 +00:00
xattr.h 9p: use stub posix acl handlers 2022-10-20 10:13:32 +02:00