[GIT PULL] nilfs2 changes for 7.3-rc1

Viacheslav Dubeyko <[email protected]>
Newsgroups gmane.comp.file-systems.nilfs.user,gmane.linux.file-systems,gmane.linux.kernel
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(-)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.