CVE-2026-63812: f2fs: fix incorrect FI_NO_EXTENT handling in __destroy_extent_node()
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix incorrect FINOEXTENT handling in destroyextentnode()
When destroyextentnode() sets the inode flag FINOEXTENT, it does not reset the length of the largest extent to 0 and update the inode folio. Since modifications to the extent tree are disallowed afterward, the cached largest extent may become stale. This can trigger the following error in xfstests generic/388:
F2FS-fs (dm-0): sanitycheckextentcache: inode (ino=1761) extent info [220057, 57, 6] is incorrect, run fsck to fix
In the f2fsdropinode path, destroyextentnode() does not need to guarantee that et->nodecnt is 0, because concurrency with writeback is expected in this path, and writeback may update the extent cache.
This patch reverts commit ed78aeebef05 ("f2fs: fix nodecnt race between extent node destroy and writeback"), and remove the unnecessary zero check of et->nodecnt.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-63812?
The severity of CVE-2026-63812 is high, with a CVSS score of 7.8.
How do I fix CVE-2026-63812?
To fix CVE-2026-63812, update your Linux kernel to the latest patched version that addresses this vulnerability.
What does CVE-2026-63812 exploit?
CVE-2026-63812 exploits incorrect handling of the FI_NO_EXTENT flag in the __destroy_extent_node() function of the Linux kernel.
What systems are affected by CVE-2026-63812?
CVE-2026-63812 affects systems running the Linux kernel, particularly those using the f2fs filesystem.
What are the potential impacts of CVE-2026-63812?
The potential impacts of CVE-2026-63812 include data corruption and loss of integrity for files managed by the f2fs filesystem.