In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix to avoid potential deadloop in f2fs_fsync_node_pages()
There is potential deadloop in race condition:
Thread A Thread B
– fsync
– f2fs_do_sync_file
– f2fs_fsync_node_pages
– last_fsync_dnode
– folio_get(last_folio)
– f2fs_setattr
– f2fs_truncate
– f2fs_truncate_blocks
– f2fs_do_truncate_blocks
– f2fs_truncate_inode_blocks
– truncate_dnode
– truncate_node
– invalidate_mapping_pages
– folio->mapping = NULL
– is_node_folio alwasy return false
– atomic && !marked is always true,
then goto retry



