CVE-2026-74372
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
raid1: fix nr_pending leak in REQ_ATOMIC bad-block error path
In raid1_write_request(), each per-mirror loop iteration begins by incrementing rdev->nr_pending. If a REQ_ATOMIC write encounters a badblock within the requested range, the code jumps to err_handle without dropping the reference taken for the current mirror.
err_handle's cleanup loop will only decrements for k < i and r1_bio->bios[k] is non-NULL. The current slot is therefore skipped, leaving its nr_pending reference leaked permanently. The reference prevents the rdev from ever being removed, since raid1_remove_conf() refuses to remove an rdev with nr_pending > 0.
Fix this by calling rdev_dec_pending() before jumping to err_handle.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | f2a38abf5f1c5aeb3be8e9f4d3d815c867fff7ca < 5ac9e793ba2583d72740d929e7858a6c82e22ed5 | affected |
| Linux | Linux | f2a38abf5f1c5aeb3be8e9f4d3d815c867fff7ca < 731485617bf862f1289c3f40ed1f800d0475826f | affected |
| Linux | Linux | f2a38abf5f1c5aeb3be8e9f4d3d815c867fff7ca < 909d9dc3b5730c8ed7b764c68bc788342df2a07b | affected |
| Linux | Linux | 6.13 | affected |
| Linux | Linux | 0 < 6.13 | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/5ac9e793ba2583d72740d929e7858a6c82e22ed5
- https://git.kernel.org/stable/c/731485617bf862f1289c3f40ed1f800d0475826f
- https://git.kernel.org/stable/c/909d9dc3b5730c8ed7b764c68bc788342df2a07b
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.