Commit graph

1238 commits

Author SHA1 Message Date
Ksawlii
96a727b0c0 Revert "f2fs: Require FMODE_WRITE for atomic write ioctls"
This reverts commit 3877a33618.
2024-11-24 00:23:11 +01:00
Ksawlii
8b17ca6430 Revert "proc: add config & param to block forcing mem writes"
This reverts commit 72291ae00f.
2024-11-24 00:23:07 +01:00
Ksawlii
3797787773 Revert "jfs: UBSAN: shift-out-of-bounds in dbFindBits"
This reverts commit 41aeda6a14.
2024-11-24 00:23:06 +01:00
Ksawlii
6fa39039f4 Revert "jfs: Fix uaf in dbFreeBits"
This reverts commit 6122749c1d.
2024-11-24 00:23:06 +01:00
Ksawlii
ee8a73fdde Revert "jfs: check if leafidx greater than num leaves per dmap tree"
This reverts commit 9fcdffe74e.
2024-11-24 00:23:06 +01:00
Ksawlii
7fdbc2acb2 Revert "jfs: Fix uninit-value access of new_ea in ea_buffer"
This reverts commit 2ff373f85e.
2024-11-24 00:23:06 +01:00
Ksawlii
ac0ea5a530 Revert "ext4: avoid use-after-free in ext4_ext_show_leaf()"
This reverts commit 2997f7a995.
2024-11-24 00:23:05 +01:00
Ksawlii
260c648056 Revert "ext4: fix i_data_sem unlock order in ext4_ind_migrate()"
This reverts commit fe7c357e85.
2024-11-24 00:23:05 +01:00
Ksawlii
8e669b0469 Revert "ext4: no need to continue when the number of entries is 1"
This reverts commit 3e2686893a.
2024-11-24 00:23:04 +01:00
Ksawlii
cf3b0a3d32 Revert "ext4: fix slab-use-after-free in ext4_split_extent_at()"
This reverts commit 36cf824440.
2024-11-24 00:23:04 +01:00
Ksawlii
9d13a5c8be Revert "ext4: propagate errors from ext4_find_extent() in ext4_insert_range()"
This reverts commit d833f09638.
2024-11-24 00:23:04 +01:00
Ksawlii
d97a370085 Revert "ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()"
This reverts commit 12dbad5099.
2024-11-24 00:23:04 +01:00
Ksawlii
c8162dd5e3 Revert "ext4: drop ppath from ext4_ext_replay_update_ex() to avoid double-free"
This reverts commit a92dad3741.
2024-11-24 00:23:04 +01:00
Ksawlii
93a6c5ff53 Revert "ext4: aovid use-after-free in ext4_ext_insert_extent()"
This reverts commit d6a31f504e.
2024-11-24 00:23:04 +01:00
Ksawlii
28ec6970cd Revert "ext4: fix double brelse() the buffer of the extents path"
This reverts commit 1751fc5974.
2024-11-24 00:23:03 +01:00
Ksawlii
2f34213701 Revert "ext4: update orig_path in ext4_find_extent()"
This reverts commit 39b44a0c92.
2024-11-24 00:23:03 +01:00
Ksawlii
3b0ddcb83c Revert "ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()"
This reverts commit 4af33d15cb.
2024-11-24 00:23:03 +01:00
Ksawlii
7229d80fef Revert "parisc: Fix stack start for ADDR_NO_RANDOMIZE personality"
This reverts commit 603d38c5da.
2024-11-24 00:23:03 +01:00
Ksawlii
f542f45344 Revert "jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error"
This reverts commit 7477cade32.
2024-11-24 00:23:03 +01:00
Ksawlii
79fa380062 Revert "jbd2: correctly compare tids with tid_geq function in jbd2_fc_begin_commit"
This reverts commit b9329bdfe6.
2024-11-24 00:23:03 +01:00
Ksawlii
16ded01ec1 Revert "ocfs2: fix the la space leak when unmounting an ocfs2 volume"
This reverts commit 0ff194d066.
2024-11-24 00:23:03 +01:00
Ksawlii
2de4d41368 Revert "ocfs2: fix uninit-value in ocfs2_get_block()"
This reverts commit 33b11064c4.
2024-11-24 00:23:03 +01:00
Ksawlii
dfe3742af2 Revert "ocfs2: reserve space for inline xattr before attaching reflink tree"
This reverts commit 63e2db6c0b.
2024-11-24 00:23:03 +01:00
Ksawlii
c5c1ab676d Revert "ocfs2: cancel dqi_sync_work before freeing oinfo"
This reverts commit 687a6ab8c4.
2024-11-24 00:23:03 +01:00
Ksawlii
947732bc18 Revert "ocfs2: remove unreasonable unlock in ocfs2_read_blocks"
This reverts commit c656a23346.
2024-11-24 00:23:02 +01:00
Ksawlii
25c64d5629 Revert "ocfs2: fix null-ptr-deref when journal load failed."
This reverts commit e7014629c9.
2024-11-24 00:23:02 +01:00
Ksawlii
d751cc7fe8 Revert "ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate"
This reverts commit e721564d9c.
2024-11-24 00:23:02 +01:00
Ksawlii
5ef504acd1 Revert "exfat: fix memory leak in exfat_load_bitmap()"
This reverts commit defa602d2c.
2024-11-24 00:23:02 +01:00
Ksawlii
9378ee00ac Revert "nfsd: fix delegation_blocked() to block correctly for at least 30 seconds"
This reverts commit 2f271f8591.
2024-11-24 00:23:02 +01:00
Ksawlii
ab71c81dd8 Revert "nfsd: map the EBADMSG to nfserr_io to avoid warning"
This reverts commit 5b22601874.
2024-11-24 00:23:02 +01:00
Ksawlii
dc047d3806 Revert "NFSD: Fix NFSv4's PUTPUBFH operation"
This reverts commit 770d812d36.
2024-11-24 00:23:02 +01:00
Ksawlii
212baf41d2 Revert "btrfs: fix a NULL pointer dereference when failed to start a new trasacntion"
This reverts commit e03ae5b888.
2024-11-24 00:23:01 +01:00
Ksawlii
7628389383 Revert "btrfs: wait for fixup workers before stopping cleaner kthread during umount"
This reverts commit cfbf212995.
2024-11-24 00:23:01 +01:00
Ksawlii
8a062fad2b Revert "ext4: properly sync file size update after O_SYNC direct IO"
This reverts commit 8d891d670a.
2024-11-24 00:23:01 +01:00
Ksawlii
1c4245ba87 Revert "ext4: dax: fix overflowing extents beyond inode size when partially writing"
This reverts commit eb2d9a8577.
2024-11-24 00:23:00 +01:00
Ksawlii
8e8df408d7 Revert "ext4: fix inode tree inconsistency caused by ENOMEM"
This reverts commit 9a68c22120.
2024-11-24 00:23:00 +01:00
Ksawlii
a64018a67a Revert "unicode: Don't special case ignorable code points"
This reverts commit 52bec9283f.
2024-11-24 00:23:00 +01:00
Ksawlii
603407d8ff Revert "ext4: nested locking for xattr inode"
This reverts commit b9112f49aa.
2024-11-24 00:22:59 +01:00
Ksawlii
6407d85670 Revert "NFSD: Mark filecache "down" if init fails"
This reverts commit 504cb79c21.
2024-11-24 00:22:57 +01:00
Ksawlii
8d52581ad5 Revert "SUNRPC: Fix integer overflow in decode_rc_list()"
This reverts commit 8f25df6566.
2024-11-24 00:22:57 +01:00
Ksawlii
0381b2073a Revert "NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies()"
This reverts commit 4bb48602f3.
2024-11-24 00:22:57 +01:00
Ksawlii
a7cd6c4b5a Revert "ext4: fix warning in ext4_dio_write_end_io()"
This reverts commit b4693ba24d.
2024-11-24 00:22:54 +01:00
Ksawlii
2baef39fde Revert "fat: fix uninitialized variable"
This reverts commit e739627286.
2024-11-24 00:22:53 +01:00
Ksawlii
3d2f22dcfc Revert "nilfs2: propagate directory read errors from nilfs_find_entry()"
This reverts commit b3a475e970.
2024-11-24 00:22:51 +01:00
Ryusuke Konishi
903d35b110 nilfs2: fix kernel bug due to missing clearing of checked flag
commit 41e192ad2779cae0102879612dfe46726e4396aa upstream.

Syzbot reported that in directory operations after nilfs2 detects
filesystem corruption and degrades to read-only,
__block_write_begin_int(), which is called to prepare block writes, may
fail the BUG_ON check for accesses exceeding the folio/page size,
triggering a kernel bug.

This was found to be because the "checked" flag of a page/folio was not
cleared when it was discarded by nilfs2's own routine, which causes the
sanity check of directory entries to be skipped when the directory
page/folio is reloaded.  So, fix that.

This was necessary when the use of nilfs2's own page discard routine was
applied to more than just metadata files.

Link: https://lkml.kernel.org/r/20241017193359.5051-1-konishi.ryusuke@gmail.com
Fixes: 8c26c4e2694a ("nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver's internal error or metadata corruption")
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Reported-by: syzbot+d6ca2daf692c7a82f959@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=d6ca2daf692c7a82f959
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:22:06 +01:00
Edward Adam Davis
fb4fbc22a1 ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow
[ Upstream commit bc0a2f3a73fcdac651fca64df39306d1e5ebe3b0 ]

Syzbot reported a kernel BUG in ocfs2_truncate_inline.  There are two
reasons for this: first, the parameter value passed is greater than
ocfs2_max_inline_data_with_xattr, second, the start and end parameters of
ocfs2_truncate_inline are "unsigned int".

So, we need to add a sanity check for byte_start and byte_len right before
ocfs2_truncate_inline() in ocfs2_remove_inode_range(), if they are greater
than ocfs2_max_inline_data_with_xattr return -EINVAL.

Link: https://lkml.kernel.org/r/tencent_D48DB5122ADDAEDDD11918CFB68D93258C07@qq.com
Fixes: 1afc32b95233 ("ocfs2: Write support for inline data")
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Reported-by: syzbot+81092778aac03460d6b7@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=81092778aac03460d6b7
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Gang He <ghe@suse.com>
Cc: Jun Piao <piaojun@huawei.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-23 23:22:06 +01:00
Ryusuke Konishi
6a8cdce34f nilfs2: fix potential deadlock with newly created symlinks
commit b3a033e3ecd3471248d474ef263aadc0059e516a upstream.

Syzbot reported that page_symlink(), called by nilfs_symlink(), triggers
memory reclamation involving the filesystem layer, which can result in
circular lock dependencies among the reader/writer semaphore
nilfs->ns_segctor_sem, s_writers percpu_rwsem (intwrite) and the
fs_reclaim pseudo lock.

This is because after commit 21fc61c73c39 ("don't put symlink bodies in
pagecache into highmem"), the gfp flags of the page cache for symbolic
links are overwritten to GFP_KERNEL via inode_nohighmem().

This is not a problem for symlinks read from the backing device, because
the __GFP_FS flag is dropped after inode_nohighmem() is called.  However,
when a new symlink is created with nilfs_symlink(), the gfp flags remain
overwritten to GFP_KERNEL.  Then, memory allocation called from
page_symlink() etc.  triggers memory reclamation including the FS layer,
which may call nilfs_evict_inode() or nilfs_dirty_inode().  And these can
cause a deadlock if they are called while nilfs->ns_segctor_sem is held:

Fix this issue by dropping the __GFP_FS flag from the page cache GFP flags
of newly created symlinks in the same way that nilfs_new_inode() and
__nilfs_read_inode() do, as a workaround until we adopt nofs allocation
scope consistently or improve the locking constraints.

Link: https://lkml.kernel.org/r/20241020050003.4308-1-konishi.ryusuke@gmail.com
Fixes: 21fc61c73c39 ("don't put symlink bodies in pagecache into highmem")
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Reported-by: syzbot+9ef37ac20608f4836256@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=9ef37ac20608f4836256
Tested-by: syzbot+9ef37ac20608f4836256@syzkaller.appspotmail.com
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:22:05 +01:00
Dai Ngo
8c50c226e1 NFS: remove revoked delegation from server's delegation list
[ Upstream commit 7ef60108069b7e3cc66432304e1dd197d5c0a9b5 ]

After the delegation is returned to the NFS server remove it
from the server's delegations list to reduce the time it takes
to scan this list.

Network trace captured while running the below script shows the
time taken to service the CB_RECALL increases gradually due to
the overhead of traversing the delegation list in
nfs_delegation_find_inode_server.

The NFS server in this test is a Solaris server which issues
CB_RECALL when receiving the all-zero stateid in the SETATTR.

mount=/mnt/data
for i in $(seq 1 20)
do
   echo $i
   mkdir $mount/testtarfile$i
   time  tar -C $mount/testtarfile$i -xf 5000_files.tar
done

Signed-off-by: Dai Ngo <dai.ngo@oracle.com>
Reviewed-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-23 23:22:04 +01:00
Aleksa Sarai
61e840ab38 openat2: explicitly return -E2BIG for (usize > PAGE_SIZE)
commit f92f0a1b05698340836229d791b3ffecc71b265a upstream.

While we do currently return -EFAULT in this case, it seems prudent to
follow the behaviour of other syscalls like clone3. It seems quite
unlikely that anyone depends on this error code being EFAULT, but we can
always revert this if it turns out to be an issue.

Cc: stable@vger.kernel.org # v5.6+
Fixes: fddb5d430ad9 ("open: introduce openat2(2) syscall")
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Link: https://lore.kernel.org/r/20241010-extensible-structs-check_fields-v3-3-d2833dfe6edd@cyphar.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:22:01 +01:00
Ryusuke Konishi
dfcc16c216 nilfs2: fix kernel bug due to missing clearing of buffer delay flag
commit 6ed469df0bfbef3e4b44fca954a781919db9f7ab upstream.

Syzbot reported that after nilfs2 reads a corrupted file system image
and degrades to read-only, the BUG_ON check for the buffer delay flag
in submit_bh_wbc() may fail, causing a kernel bug.

This is because the buffer delay flag is not cleared when clearing the
buffer state flags to discard a page/folio or a buffer head. So, fix
this.

This became necessary when the use of nilfs2's own page clear routine
was expanded.  This state inconsistency does not occur if the buffer
is written normally by log writing.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Link: https://lore.kernel.org/r/20241015213300.7114-1-konishi.ryusuke@gmail.com
Fixes: 8c26c4e2694a ("nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver's internal error or metadata corruption")
Reported-by: syzbot+985ada84bf055a575c07@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=985ada84bf055a575c07
Cc: stable@vger.kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:22:01 +01:00