Miklos Szeredi
e3df45eef8
fuse: fix bad inode
...
Jan Kara's analysis of the syzbot report (edited):
The reproducer opens a directory on FUSE filesystem, it then attaches
dnotify mark to the open directory. After that a fuse_do_getattr() call
finds that attributes returned by the server are inconsistent, and calls
make_bad_inode() which, among other things does:
inode->i_mode = S_IFREG;
This then confuses dnotify which doesn't tear down its structures
properly and eventually crashes.
Avoid calling make_bad_inode() on a live inode: switch to a private flag on
the fuse inode. Also add the test to ops which the bad_inode_ops would
have caught.
This change goes back to the initial merge of fuse in 2.6.14...
Change-Id: Iec8f3c66e1ee214e641d71cf01e6f0c2755c3cef
Reported-by: syzbot+f427adf9324b92652ccc@syzkaller.appspotmail.com
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Tested-by: Jan Kara <jack@suse.cz>
Cc: <stable@vger.kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Git-commit: 732251cabe
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Pradeep P V K <pragalla@codeaurora.org>
2021-08-23 22:25:08 -07:00
..
9p
This is the 5.4.75 stable release
2020-11-05 13:27:24 +01:00
adfs
affs
affs: fix basic permission bits to actually work
2020-09-09 19:12:34 +02:00
afs
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
autofs
befs
bfs
btrfs
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
cachefiles
cachefiles: Handle readpage error correctly
2020-11-05 11:43:36 +01:00
ceph
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
cifs
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
coda
configfs
FROMGIT: configfs: fix a use-after-free in __configfs_open_file
2021-03-13 14:31:17 +00:00
cramfs
crypto
UPSTREAM: fscrypt: restrict IV_INO_LBLK_* to AES-256-XTS
2020-11-14 16:29:45 +01:00
debugfs
debugfs: Fix module state check condition
2020-09-17 13:47:55 +02:00
devpts
dlm
fs: dlm: fix configfs memory leak
2020-10-29 09:58:03 +01:00
ecryptfs
efivarfs
efivarfs: revert "fix memory leak in efivarfs_create()"
2020-12-02 08:49:53 +01:00
efs
erofs
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
exfat
exfat: Avoid allocating upcase table using kcalloc()
2021-02-22 11:23:23 +08:00
exportfs
ext2
This is the 5.4.64 stable release
2020-09-14 13:00:56 +02:00
ext4
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
f2fs
UPSTREAM: f2fs: fix double free of unicode map
2021-05-03 20:55:42 -07:00
fat
freevxfs
fscache
fuse
fuse: fix bad inode
2021-08-23 22:25:08 -07:00
gfs2
This is the 5.4.83 stable release
2020-12-11 15:00:01 +01:00
hfs
hfsplus
hostfs
hpfs
hugetlbfs
Merge android11-5.4.86+ ( 75c93eb) into msm-5.4
2021-04-22 09:44:51 +05:30
incfs
ANDROID: Incremental fs: Set credentials before reading/writing
2021-04-22 22:34:21 +00:00
iomap
This is the 5.4.73 stable release
2020-10-29 11:38:08 +01:00
isofs
jbd2
jbd2: fix up sparse warnings in checkpoint code
2020-11-18 19:20:30 +01:00
jffs2
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
jfs
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
kernfs
lockd
lockd: don't use interval-based rebinding over TCP
2020-12-30 11:51:16 +01:00
minix
nfs
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
nfs_common
nfs_common: need lock during iterate through the list
2020-12-30 11:51:22 +01:00
nfsd
nfsd: Fix message level for normal termination
2020-12-30 11:51:22 +01:00
nilfs2
nls
notify
ANDROID: vfs: add d_canonical_path for stacked filesystem support
2020-10-30 10:02:25 +01:00
ntfs
ntfs: add check for mft record size in superblock
2020-10-29 09:58:03 +01:00
ocfs2
This is the 5.4.78 stable release
2020-11-19 08:52:52 +01:00
omfs
openpromfs
orangefs
overlayfs
proc
Merge android11-5.4.86+ ( 75c93eb) into msm-5.4
2021-04-22 09:44:51 +05:30
pstore
pstore: Add buffer start check during init
2020-12-10 15:38:51 +08:00
qnx4
qnx6
quota
quota: Sanity-check quota file headers on load
2020-12-30 11:51:00 +01:00
ramfs
ramfs: fix nommu mmap with gaps in the page cache
2020-10-29 09:57:53 +01:00
reiserfs
This is the 5.4.73 stable release
2020-10-29 11:38:08 +01:00
romfs
squashfs
sysfs
sysv
tracefs
ubifs
This is the 5.4.86 stable release
2020-12-30 12:31:14 +01:00
udf
udf: Fix memory leak when mounting
2020-11-05 11:43:29 +01:00
ufs
unicode
verity
xfs
This is the 5.4.80 stable release
2020-11-25 12:46:13 +01:00
aio.c
Revert "aio: only use blk plugs for > 2 depth submissions"
2021-06-07 20:02:39 -07:00
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf.c
binfmt_elf_fdpic.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
block_dev.c
bdev: Reduce time holding bd_mutex in sync in blkdev_close()
2020-10-01 13:17:55 +02:00
buffer.c
Merge android11-5.4.86+ ( 75c93eb) into msm-5.4
2021-04-22 09:44:51 +05:30
char_dev.c
compat.c
compat_binfmt_elf.c
compat_ioctl.c
coredump.c
coredump: fix core_pattern parse error
2020-12-11 13:23:30 +01:00
d_path.c
fs: fix NULL dereference due to data race in prepend_path()
2020-12-15 11:43:16 +05:30
dax.c
dcache.c
fix dget_parent() fastpath race
2020-10-01 13:17:19 +02:00
dcookies.c
direct-io.c
drop_caches.c
eventfd.c
eventpoll.c
This is the 5.4.70 stable release
2020-10-07 08:50:29 +02:00
exec.c
This is the 5.4.75 stable release
2020-11-05 13:27:24 +01:00
fcntl.c
fhandle.c
file.c
file_table.c
filesystems.c
fs-writeback.c
writeback: Fix sync livelock due to b_dirty_time processing
2020-09-03 11:27:04 +02:00
fs_context.c
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fsopen.c
inode.c
internal.h
io_uring.c
io_uring: Fix double list add in io_queue_async_work()
2020-10-14 10:32:57 +02:00
ioctl.c
Kconfig
exfat: add Kconfig and Makefile
2020-11-10 14:30:28 +08:00
Kconfig.binfmt
libfs.c
This is the 5.4.80 stable release
2020-11-25 12:46:13 +01:00
locks.c
Makefile
exfat: add Kconfig and Makefile
2020-11-10 14:30:28 +08:00
mbcache.c
mount.h
mpage.c
namei.c
namespace.c
no-block.c
nsfs.c
open.c
OWNERS
ANDROID: Add OWNERS files referring to the respective android-mainline OWNERS
2021-04-01 13:45:14 +00:00
pipe.c
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
readdir.c
select.c
seq_file.c
signalfd.c
splice.c
stack.c
stat.c
statfs.c
super.c
vfs: remove lockdep bogosity in __sb_start_write
2020-11-24 13:29:01 +01:00
sync.c
timerfd.c
userfaultfd.c
utimes.c
xattr.c