CVE-2025-21721

nilfs2: handle errors that nilfs_prepare_chunk() may return

State
Published
Severity
Not scored
Published
Feb 27, 2025
Updated
May 11, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

nilfs2: handle errors that nilfs_prepare_chunk() may return

Patch series "nilfs2: fix issues with rename operations".

This series fixes BUG_ON check failures reported by syzbot around rename operations, and a minor behavioral issue where the mtime of a child directory changes when it is renamed instead of moved.

This patch (of 2):

The directory manipulation routines nilfs_set_link() and nilfs_delete_entry() rewrite the directory entry in the folio/page previously read by nilfs_find_entry(), so error handling is omitted on the assumption that nilfs_prepare_chunk(), which prepares the buffer for rewriting, will always succeed for these. And if an error is returned, it triggers the legacy BUG_ON() checks in each routine.

This assumption is wrong, as proven by syzbot: the buffer layer called by nilfs_prepare_chunk() may call nilfs_get_block() if necessary, which may fail due to metadata corruption or other reasons. This has been there all along, but improved sanity checks and error handling may have made it more reproducible in fuzzing tests.

Fix this issue by adding missing error paths in nilfs_set_link(), nilfs_delete_entry(), and their caller nilfs_rename().

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before b38c6c260c2415c7f0968871305e7a093daabb4cAffected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before f70bd2d8ca454e0ed78970f72147ca321dbaa015Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 607dc724b162f4452dc768865e578c1a509a1c8cAffected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 1ee2d454baa361d2964e3e2f2cca9ee3f769d93cAffected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 7891ac3b0a5c56f7148af507306308ab841cdc31Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before eddd3176b8c4c83a46ab974574cda7c3dfe09388Affected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before 481136234dfe96c7f92770829bec6111c7c5f5ddAffected
  • 2ba466d74ed74f073257f86e61519cb8f8f46184 to before ee70999a988b8abc3490609142f50ebaa8344432Affected
LinuxLinux
  • 2.6.30Affected
  • before 2.6.30Not affected
  • 5.4.291 through 5.4.*Not affected
  • 5.10.235 through 5.10.*Not affected
  • 5.15.179 through 5.15.*Not affected
  • 6.1.131 through 6.1.*Not affected
  • 6.6.80 through 6.6.*Not affected
  • 6.12.13 through 6.12.*Not affected
  • 6.13.2 through 6.13.*Not affected
  • 6.14 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.