Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
6aa58d8ad20a3323f42274c25820a6f54192422d to < 0721a4f85d12a364002a9476c84b930fbc993f83affected6aa58d8ad20a3323f42274c25820a6f54192422d to < c92f2927df860a60ba815d3ee610a944b92a8694affected6aa58d8ad20a3323f42274c25820a6f54192422d to < 77bfdb89cc222fc7bfe198eda77bdc427d5ac189affected6aa58d8ad20a3323f42274c25820a6f54192422d to < 04226d8e3c4028dc451e9d8777356ec0f7919253affected6aa58d8ad20a3323f42274c25820a6f54192422d to < 9f0c4a46be1fe9b97dbe66d49204c1371e3ece65affected
Linux Linux
Default version status: affected
4.19affected0 to < 4.19unaffected6.1.191 to ≤ 6.1.*unaffected6.6.23 to ≤ 6.6.*unaffected6.7.11 to ≤ 6.7.*unaffected6.8.2 to ≤ 6.8.*unaffected6.9 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/0721a4f85d12a364002a9476c84b930fbc993f83 ↗
- https://git.kernel.org/stable/c/c92f2927df860a60ba815d3ee610a944b92a8694 ↗
- https://git.kernel.org/stable/c/77bfdb89cc222fc7bfe198eda77bdc427d5ac189 ↗
- https://git.kernel.org/stable/c/04226d8e3c4028dc451e9d8777356ec0f7919253 ↗
- https://git.kernel.org/stable/c/9f0c4a46be1fe9b97dbe66d49204c1371e3ece65 ↗