CVE-2024-26685
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2024
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
nilfs2: fix potential bug in end_buffer_async_write
In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix potential bug in end_buffer_async_write According to a syzbot report, end_buffer_async_write(), which handles the completion of block device writes, may detect abnormal condition of the buffer async_write flag and cause a BUG_ON failure when using nilfs2. Nilfs2 itself does not use end_buffer_async_write(). But, the async_write flag is now used as a marker by commit 7f42ec394156 ("nilfs2: fix issue with race condition of competition between segments for dirty blocks") as a means of resolving double list insertion of dirty blocks in nilfs_lookup_dirty_data_buffers() and nilfs_lookup_node_buffers() and the resulting crash. This modification is safe as long as it is used for file data and b-tree node blocks where the page caches are independent. However, it was irrelevant and redundant to also introduce async_write for segment summary and super root blocks that share buffers with the backing device. This led to the possibility that the BUG_ON check in end_buffer_async_write would fail as described above, if independent writebacks of the backing device occurred in parallel. The use of async_write for segment summary buffers has already been removed in a previous change. Fix this issue by removing the manipulation of the async_write flag for the remaining super root block buffer.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 7f42ec3941560f0902fe3671e36f2c20ffd3af0a | affected | git | c4a09fdac625e64abe478dcf88bfa20406616928 | Unavailable | None listed |
| 7f42ec3941560f0902fe3671e36f2c20ffd3af0a | affected | git | d31c8721e816eff5ca6573cc487754f357c093cd | Unavailable | None listed |
| 7f42ec3941560f0902fe3671e36f2c20ffd3af0a | affected | git | f3e4963566f58726d3265a727116a42b591f6596 | Unavailable | None listed |
| 7f42ec3941560f0902fe3671e36f2c20ffd3af0a | affected | git | 8fa90634ec3e9cc50f42dd605eec60f2d146ced8 | Unavailable | None listed |
| 7f42ec3941560f0902fe3671e36f2c20ffd3af0a | affected | git | 6589f0f72f8edd1fa11adce4eedbd3615f2e78ab | Unavailable | None listed |
| 7f42ec3941560f0902fe3671e36f2c20ffd3af0a | affected | git | 2c3bdba00283a6c7a5b19481a59a730f46063803 | Unavailable | None listed |
| 7f42ec3941560f0902fe3671e36f2c20ffd3af0a | affected | git | 626daab3811b772086aef1bf8eed3ffe6f523eff | Unavailable | None listed |
| 7f42ec3941560f0902fe3671e36f2c20ffd3af0a | affected | git | 5bc09b397cbf1221f8a8aacb1152650c9195b02b | Unavailable | None listed |
| ccebcc74c81d8399c7b204aea47c1f33b09c2b17 | affected | git | Unavailable | Unavailable | None listed |
| 831c87640d23ccb253a02e4901bd9a325b5e8c2d | affected | git | Unavailable | Unavailable | None listed |
| d8974c7fe717ee8fb0706e35cc92e0bcdf660ec5 | affected | git | Unavailable | Unavailable | None listed |
| 8f67918af09fc0ffd426a9b6f87697976d3fbc7b | affected | git | Unavailable | Unavailable | None listed |
| 3.2.52 | affected | semver | 3.3 | Unavailable | None listed |
| 3.4.83 | affected | semver | 3.5 | Unavailable | None listed |
| 3.10.16 | affected | semver | 3.11 | Unavailable | None listed |
| 3.11.5 | affected | semver | 3.12 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 3.12 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 3.12 | Unavailable | None listed |
| 4.19.307 | unaffected | semver | Unavailable | 4.19.* | None listed |
| 5.4.269 | unaffected | semver | Unavailable | 5.4.* | None listed |
| 5.10.210 | unaffected | semver | Unavailable | 5.10.* | None listed |
| 5.15.149 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.79 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.18 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.7.6 | unaffected | semver | Unavailable | 6.7.* | None listed |
| 6.8 | unaffected | original_commit_for_fix | Unavailable | * | None listed |