Description
In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix BUG in nilfs_copy_dirty_pages() on dirty state mismatch Syzbot reported a kernel BUG triggered within nilfs_copy_dirty_pages(), which copies dirty DAT file folios/pages to its shadow page cache. The BUG occurs when a retrieved dirty folio/page unexpectedly loses its 'dirty' status. This issue arises because, since the commit referenced below, the 'dirty' flag of a folio/page can be cleared asynchronously after the filesystem detects metadata corruption and transitions to read-only mode. Resolve the issue by returning an -EROFS error if the filesystem has transitioned to read-only mode. Also change the behavior to issue a kernel warning only once instead of triggering a kernel BUG when this unexpected 'dirty' state is detected while the filesystem is not in read-only mode.
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
8c26c4e2694a163d525976e804d81cd955bbb40c to < 6879c603a8d07af82da83768cc2342a11bd444e5affected8c26c4e2694a163d525976e804d81cd955bbb40c to < 5166a21b12f549774f2983fa86d2526ea9e66aceaffected8c26c4e2694a163d525976e804d81cd955bbb40c to < 4e1f21e7540b25d83f86b50780836ed7d2afcc93affected8c26c4e2694a163d525976e804d81cd955bbb40c to < 3904fb0ee741ebbbc27ec8f50a9bb6cd31e8af05affected8c26c4e2694a163d525976e804d81cd955bbb40c to < f181155baf0c93a74ebe804c6cecbe970e78ee9eaffected8c26c4e2694a163d525976e804d81cd955bbb40c to < 66f4ad3ce158902e5f98afea93189972ed8750c2affected
Linux Linux
Default version status: affected
3.10affected0 to < 3.10unaffected6.1.191 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/6879c603a8d07af82da83768cc2342a11bd444e5 ↗
- https://git.kernel.org/stable/c/5166a21b12f549774f2983fa86d2526ea9e66ace ↗
- https://git.kernel.org/stable/c/4e1f21e7540b25d83f86b50780836ed7d2afcc93 ↗
- https://git.kernel.org/stable/c/3904fb0ee741ebbbc27ec8f50a9bb6cd31e8af05 ↗
- https://git.kernel.org/stable/c/f181155baf0c93a74ebe804c6cecbe970e78ee9e ↗
- https://git.kernel.org/stable/c/66f4ad3ce158902e5f98afea93189972ed8750c2 ↗