High · published November 9, 2024
In the Linux kernel, the following vulnerability has been resolved:
nilfs2: fix kernel bug due to missing clearing of checked flag
Syzbot reported that in directory operations after nilfs2 detects
filesystem corruption and degrades to read-only,
__block_write_begin_int(), which is called to prepare block writes, may
fail the BUG_ON check for accesses exceeding the folio/page size,
triggering a kernel bug.
This was found to be because the "checked" flag of a page/folio was not
cleared when it was discarded by nilfs2's own routine, which causes the
sanity check of directory entries to be skipped when the directory
page/folio is reloaded. So, fix that.
This was necessary when the use of nilfs2's own page discard routine was
applied to more than just metadata files.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 3.10, < 4.19.323 | 4.19.323 |
| linux/linux_kernel | ≥ 4.20, < 5.4.285 | 5.4.285 |
| linux/linux_kernel | ≥ 5.5, < 5.10.229 | 5.10.229 |
| linux/linux_kernel | ≥ 5.11, < 5.15.171 | 5.15.171 |
| linux/linux_kernel | ≥ 5.16, < 6.1.116 | 6.1.116 |
| linux/linux_kernel | ≥ 6.2, < 6.6.60 | 6.6.60 |
| linux/linux_kernel | ≥ 6.7, < 6.11.7 | 6.11.7 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |