[GIT PULL] nilfs2 changes for 7.3-rc1
Viacheslav Dubeyko <[email protected]>
| Newsgroups | org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nilfs |
|---|---|
| Message-ID | <[email protected]> |
Hello Linus,
This pull request contains fixes of syzbot reported issue and
various fixes in NILFS2 functionality.
David Lee implemented rejection of super-root inode sizes
whose computed on-disk footprint exceeds the filesystem
block size.
Igor Putko exchanged WARN_ON() in nilfs_cpfile_delete_checkpoints()
on returning -EIO and reporting a filesystem error via nilfs_error()
in the case of corrupted checkpoint count on the storage medium
because it is suboptimal of interrupting execution with a kernel
warning.
Joshua Crofts has fixed an infinite loop issue in
nilfs_clean_segments() reported by syzbot. In nilfs_clean_segments(),
if err is non-zero, logic logs the error and sleeps but doesn't
abort when it encounters a terminal error like -EROFS. This causes
the thread to loop forever. Fix this by breaking out of the loop
if nilfs_segctor_construct() returns -EROFS.
Manoj K M fixed small grammar mistake in the description
for nilfs2 recovery code.
Ryusuke Konishi has made multiple fixes: (1) fix the list corruption
issue recently detected by syzbot, that can occur when out-of-range
values are intentionally passed to certain GC ioctl parameters;
(2) fix a flaw in the original B-tree implementation related to
truncation and resolves the reported out-of-bounds memory access
issue; (3) fix an issue reported by syzbot where a kernel BUG
could be triggered depending on timing after filesystem
corruption is detected; (4) fix an issue where a WARN_ON
check is triggered by sufile functions within the log writer after
the filesystem degrades to read-only mode.
Wang Jianjian introduced a check for sorted keys when reading
btree node blocks into the cache, preventing unexpected errors
during the block number assignment phase in log writing caused
by key order inconsistencies, as well as the kernel warnings
reported by syzbot.
The following changes since commit
dc59e4fea9d83f03bad6bddf3fa2e52491777482:
Linux 7.2-rc1 (2026-06-28 12:01:31 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/nilfs2.git
tags/nilfs2-v7.3-tag1
for you to fetch changes up to
24a098541a765ed017274f8094004404a83b0daf:
nilfs2: standardize the inode number type to u64 (2026-08-10 16:06:23
-0700)
----------------------------------------------------------------
nilfs2 updates for v7.3
- nilfs2: standardize the inode number type to u64
- nilfs2: enhance btree node keys check
- nilfs2: suppress false positive WARN_ONs for sufile after an FS error
- nilfs2: fix BUG in nilfs_copy_dirty_pages() on dirty state mismatch
- nilfs2: prevent out-of-bounds read in super root block parsing
- nilfs2: fix infinite loop in nilfs_clean_segments()
- nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after
truncation
- Documentation: fix grammar in description of nilfs2 recovery code
- nilfs2: handle corrupted checkpoint count gracefully during deletion
- nilfs2: reject invalid block index in GC ioctl
----------------------------------------------------------------
David Lee (1):
nilfs2: prevent out-of-bounds read in super root block parsing
Igor Putko (1):
nilfs2: handle corrupted checkpoint count gracefully during
deletion
Joshua Crofts (1):
nilfs2: fix infinite loop in nilfs_clean_segments()
Manoj K M (1):
Documentation: fix grammar in description of nilfs2 recovery code
Ryusuke Konishi (5):
nilfs2: reject invalid block index in GC ioctl
nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after
truncation
nilfs2: fix BUG in nilfs_copy_dirty_pages() on dirty state
mismatch
nilfs2: suppress false positive WARN_ONs for sufile after an FS
error
nilfs2: standardize the inode number type to u64
Wang Jianjian (1):
nilfs2: enhance btree node keys check
Documentation/filesystems/nilfs2.rst | 2 +-
fs/nilfs2/bmap.c | 2 +-
fs/nilfs2/bmap.h | 2 +-
fs/nilfs2/btree.c | 58
+++++++++++++++++++++++++++++-------
fs/nilfs2/cpfile.c | 20 ++++++++++---
fs/nilfs2/dir.c | 11 ++++---
fs/nilfs2/direct.c | 4 +--
fs/nilfs2/ifile.c | 13 ++++----
fs/nilfs2/ifile.h | 10 ++++---
fs/nilfs2/inode.c | 24 +++++++--------
fs/nilfs2/ioctl.c | 22 ++++++++++++--
fs/nilfs2/namei.c | 6 ++--
fs/nilfs2/nilfs.h | 15 +++++-----
fs/nilfs2/page.c | 26 +++++++++++-----
fs/nilfs2/recovery.c | 4 +--
fs/nilfs2/segment.c | 42 +++++++++++++++-----------
fs/nilfs2/sufile.h | 28 +++++++++++++++++
fs/nilfs2/the_nilfs.c | 6 ++++
18 files changed, 206 insertions(+), 89 deletions(-)