CVE-2026-89833: f2fs: fix to avoid potential deadloop in f2fs_fsync_node_pages()
In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to avoid potential deadloop in f2fsfsyncnodepages()
There is potential deadloop in race condition:
Thread A Thread B - fsync - f2fsdosyncfile - f2fsfsyncnodepages - lastfsyncdnode - folioget(lastfolio) - f2fssetattr - f2fstruncate - f2fstruncateblocks - f2fsdotruncateblocks - f2fstruncateinodeblocks - truncatednode - truncatenode - invalidatemappingpages - folio->mapping = NULL - isnodefolio alwasy return false - atomic && !marked is always true, then goto retry
Event History
Frequently Asked Questions
What conditions are required to trigger the deadloop?
The issue requires a race between an fsync operation progressing through f2fs_fsync_node_pages() and a concurrent setattr/truncation path that invalidates node-mapping pages. When the affected folio's mapping becomes NULL, the fsync path can repeatedly retry.
Which systems are exposed?
Systems using the Linux kernel with the F2FS filesystem are the relevant exposure scope. The provided data does not identify affected kernel versions or whether any particular distribution configuration enables F2FS by default.
How can I determine whether a system may already be affected?
Look for workloads that perform fsync concurrently with file attribute changes or truncation on F2FS. A task stuck retrying in f2fs_fsync_node_pages() during such activity would be consistent with the described deadloop, though the provided data does not specify diagnostic messages or detection commands.