Andreas Gruenbacher
4d4cb76636
gfs2: Always check inode size of inline inodes
...
commit 70376c7ff31221f1d21db5611d8209e677781d3a upstream.
Check if the inode size of stuffed (inline) inodes is within the allowed
range when reading inodes from disk (gfs2_dinode_in()). This prevents
us from on-disk corruption.
The two checks in stuffed_readpage() and gfs2_unstuffer_page() that just
truncate inline data to the maximum allowed size don't actually make
sense, and they can be removed now as well.
Reported-by: syzbot+7bb81dfa9cda07d9cd9d@syzkaller.appspotmail.com
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
[pchelkin@ispras.ru: adjust the inode variable inside gfs2_dinode_in with
the format used before upstream commit 7db354444ad8 ("gfs2: Cosmetic
gfs2_dinode_{in,out} cleanup")]
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-04-05 11:16:46 +02:00
..
9p
9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"
2022-06-22 14:11:02 +02:00
adfs
affs
affs: initialize fsdata in affs_truncate()
2023-02-06 07:52:36 +01:00
afs
afs: Fix fileserver probe RTT handling
2022-12-08 11:23:03 +01:00
autofs
befs
bfs
btrfs
btrfs: scan device in non-exclusive mode
2023-04-05 11:16:46 +02:00
cachefiles
ceph
ceph: flush cap releases when the session is flushed
2023-02-22 12:50:33 +01:00
cifs
cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL
2023-04-05 11:16:45 +02:00
coda
coda: Avoid partial allocation of sig_inputArgs
2023-03-11 16:43:56 +01:00
configfs
configfs: fix possible memory leak in configfs_create_dir()
2023-01-18 11:41:09 +01:00
cramfs
crypto
fscrypt: add fscrypt_symlink_getattr() for computing st_size
2021-09-12 08:56:38 +02:00
debugfs
debugfs: fix error when writing negative value to atomic_t debugfs file
2023-01-18 11:40:56 +01:00
devpts
fsnotify: fix fsnotify hooks in pseudo filesystems
2022-02-01 17:24:34 +01:00
dlm
fs: dlm: handle -EBUSY first in lock arg validation
2022-10-26 13:22:14 +02:00
ecryptfs
Revert "ecryptfs: replace BUG_ON with error handling code"
2021-05-26 12:05:19 +02:00
efivarfs
efs
erofs
erofs: avoid consecutive detection for Highmem memory
2022-08-25 11:17:36 +02:00
exportfs
ext2
ext2: Add more validity checks for inode counts
2022-08-25 11:17:28 +02:00
ext4
ext4: fix kernel BUG in 'ext4_write_inline_data_end()'
2023-04-05 11:16:46 +02:00
f2fs
fs: f2fs: initialize fsdata in pagecache_write()
2023-03-11 16:44:08 +01:00
fat
fat: add ratelimit to fat*_ent_bread()
2022-06-14 18:11:30 +02:00
freevxfs
fscache
fscache: Fix cookie key hashing
2021-09-22 12:26:25 +02:00
fuse
fuse: lock inode unconditionally in fuse_fallocate()
2022-12-08 11:23:01 +01:00
gfs2
gfs2: Always check inode size of inline inodes
2023-04-05 11:16:46 +02:00
hfs
hfs: fix missing hfs_bnode_get() in __hfs_bnode_create
2023-03-11 16:43:59 +01:00
hfsplus
fs: hfsplus: fix UAF issue in hfsplus_put_super
2023-03-11 16:43:59 +01:00
hostfs
hpfs
hugetlbfs
hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param()
2023-01-18 11:41:38 +01:00
iomap
iomap: iomap_write_failed fix
2022-06-14 18:11:36 +02:00
isofs
isofs: Fix out of bound access for corrupted isofs image
2021-11-12 14:43:03 +01:00
jbd2
jbd2: wake up journal waiters in FIFO order, not LIFO
2022-10-26 13:22:17 +02:00
jffs2
jffs2: correct logic when creating a hole in jffs2_write_begin
2023-03-22 13:28:07 +01:00
jfs
fs/jfs: fix shift exponent db_agl2size negative
2023-03-11 16:44:07 +01:00
kernfs
kernfs: fix use-after-free in __kernfs_remove
2022-11-03 23:56:54 +09:00
lockd
lockd: lockd server-side shouldn't set fl_ops
2021-09-22 12:26:34 +02:00
minix
minix: fix bug when opening a file with O_DIRECT
2022-04-15 14:18:35 +02:00
nfs
NFSv4: Fix hangs when recovering open state after a server reboot
2023-04-05 11:16:45 +02:00
nfs_common
nfsd
nfsd: zero out pointers after putting nfsd_files on COPY setup error
2023-03-11 16:43:58 +01:00
nilfs2
nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
2023-04-05 11:16:41 +02:00
nls
notify
fsnotify: fix wrong lockdep annotations
2022-06-14 18:11:34 +02:00
ntfs
ntfs: check overflow when iterating ATTR_RECORDs
2022-11-25 17:42:22 +01:00
ocfs2
ocfs2: fix data corruption after failed write
2023-04-05 11:16:42 +02:00
omfs
openpromfs
orangefs
orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init()
2023-01-18 11:41:39 +01:00
overlayfs
ovl: Use ovl mounter's fsuid and fsgid in ovl_link()
2023-01-18 11:41:43 +01:00
proc
mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps
2023-02-22 12:50:28 +01:00
pstore
pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES
2023-01-18 11:41:40 +01:00
qnx4
qnx4: work around gcc false positive warning bug
2021-09-30 10:09:26 +02:00
qnx6
quota
ext4: fix bug_on in __es_tree_search caused by bad quota inode
2023-01-18 11:42:02 +01:00
ramfs
reiserfs
fs: reiserfs: remove useless new_opts in reiserfs_remount
2023-02-06 07:52:43 +01:00
romfs
squashfs
revert "squashfs: harden sanity check in squashfs_read_xattr_id_table"
2023-02-22 12:50:39 +01:00
sysfs
sysv
fs: sysv: Fix sysv_nblocks() returns wrong value
2023-01-18 11:40:58 +01:00
tracefs
tracefs: Only clobber mode/uid/gid on remount if asked
2022-09-20 12:28:00 +02:00
ubifs
ubifs: ubifs_writepage: Mark page dirty after writing inode failed
2023-03-11 16:44:10 +01:00
udf
udf: Fix file corruption when appending just after end of preallocated extent
2023-03-11 16:44:01 +01:00
ufs
unicode
verity
fsverity: don't drop pagecache at end of FS_IOC_ENABLE_VERITY
2023-04-05 11:16:42 +02:00
xfs
xfs: sync lazy sb accounting on quiesce of read-only mounts
2023-02-22 12:50:38 +01:00
aio.c
aio: fix mremap after fork null-deref
2023-02-22 12:50:35 +01:00
anon_inodes.c
attr.c
vfs: Check the truncate maximum size in inode_newsize_ok()
2022-08-25 11:17:21 +02:00
bad_inode.c
binfmt_aout.c
binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
2023-01-18 11:41:46 +01:00
binfmt_elf.c
elf: don't use MAP_FIXED_NOREPLACE for elf interpreter mappings
2021-10-06 15:42:35 +02:00
binfmt_elf_fdpic.c
binfmt: Fix error return code in load_elf_fdpic_binary()
2023-01-18 11:41:46 +01:00
binfmt_em86.c
binfmt_flat.c
binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf
2023-01-18 11:41:46 +01:00
binfmt_misc.c
binfmt_misc: fix shift-out-of-bounds in check_special_flags
2023-01-18 11:41:33 +01:00
binfmt_script.c
block_dev.c
block: reexpand iov_iter after read/write
2021-05-22 11:38:29 +02:00
buffer.c
mm: fs: initialize fsdata passed to write_begin/write_end interface
2022-11-25 17:42:22 +01:00
char_dev.c
chardev: fix error handling in cdev_device_add()
2023-01-18 11:41:25 +01:00
compat.c
compat_binfmt_elf.c
compat_ioctl.c
compat_ioctl: remove /dev/random commands
2022-06-22 14:11:03 +02:00
coredump.c
d_path.c
dax.c
dax: fix cache flush on PMD-mapped pages
2022-06-14 18:11:41 +02:00
dcache.c
dcookies.c
direct-io.c
drop_caches.c
eventfd.c
eventpoll.c
epoll: check for events when removing a timed out thread from the wait queue
2022-12-08 11:23:05 +01:00
exec.c
exec: Force single empty string when argv is empty
2022-06-06 08:33:50 +02:00
fcntl.c
fcntl: fix potential deadlock for &fasync_struct.fa_lock
2021-09-15 09:47:28 +02:00
fhandle.c
file.c
fs: prevent out-of-bounds array speculation when closing a file descriptor
2023-03-17 08:32:47 +01:00
file_table.c
SUNRPC: Ensure we flush any closed sockets before xs_xprt_free()
2022-05-25 09:14:34 +02:00
filesystems.c
fs-writeback.c
fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
2022-06-14 18:11:44 +02:00
fs_context.c
memcg: charge fs_context and legacy_fs_context
2022-02-08 18:24:29 +01:00
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fsopen.c
inode.c
fs: fix UAF/GPF bug in nilfs_mdt_destroy
2022-10-15 07:54:36 +02:00
internal.h
cgroup1: fix leaked context root causing sporadic NULL deref in LTP
2021-07-31 08:19:37 +02:00
io_uring.c
io_uring/af_unix: defer registered files gc to io_uring release
2022-10-26 13:22:59 +02:00
ioctl.c
Kconfig
Kconfig.binfmt
libfs.c
libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value
2023-01-18 11:40:55 +01:00
locks.c
Makefile
mbcache.c
mbcache: Avoid nesting of cache->c_list_lock under bit locks
2023-01-18 11:41:59 +01:00
mount.h
mpage.c
namei.c
mm: fs: initialize fsdata passed to write_begin/write_end interface
2022-11-25 17:42:22 +01:00
namespace.c
fs: warn about impending deprecation of mandatory locks
2021-08-26 08:36:22 -04:00
no-block.c
nsfs.c
open.c
pipe.c
pipe: increase minimum default pipe size to 2 pages
2021-08-12 13:21:02 +02:00
pnode.c
pnode: terminate at peers of source
2023-01-18 11:41:44 +01:00
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
readdir.c
select.c
select: Fix indefinitely sleeping task in poll_schedule_timeout()
2022-01-29 10:25:11 +01:00
seq_file.c
seq_file: disallow extremely large seq buffer allocations
2021-07-20 16:10:54 +02:00
signalfd.c
io_uring: disable polling pollfree files
2022-09-05 10:27:47 +02:00
splice.c
Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
2022-10-17 17:24:32 +02:00
stack.c
stat.c
stat: fix inconsistency between struct stat and struct compat_stat
2022-04-27 13:50:48 +02:00
statfs.c
super.c
vfs: make freeze_super abort when sync_filesystem returns error
2022-02-23 11:59:55 +01:00
sync.c
timerfd.c
userfaultfd.c
userfaultfd: open userfaultfds with O_RDONLY
2022-10-26 13:22:21 +02:00
utimes.c
xattr.c
fs: don't audit the capability check in simple_xattr_list()
2023-01-18 11:40:53 +01:00