In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to truncate meta inode pages forcely Below race case can cause data corruption: Thread A GC thread - gc_data_segment - ra_data_block - locked meta_inode page - f2fs_inplace_write_data - invalidate_mapping_pages : fail to invalidate meta_inode page due to lock failure or dirty|writeback status - f2fs_submit_page_bio : write last dirty data to old blkaddr - move_data_block - load old data from meta_inode page - f2fs_submit_page_write : write old data to new blkaddr Because invalidate_mapping_pages() will skip invalidating page which has unclear status including locked, dirty, writeback and so on, so we need to use truncate_inode_pages_range() instead of invalidate_mapping_pages() to make sure meta_inode page will be dropped.
OS | Version | Architecture | Package | Version | Filename |
---|---|---|---|---|---|
Debian | 12 | all | linux | <= 6.1.106-3 | linux_6.1.106-3_all.deb |
Debian | 11 | all | linux | <= 5.10.223-1 | linux_5.10.223-1_all.deb |
Debian | 999 | all | linux | < 6.7.12-1 | linux_6.7.12-1_all.deb |
Debian | 13 | all | linux | < 6.7.12-1 | linux_6.7.12-1_all.deb |