CVE-2021-47412
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
block: don't call rq_qos_ops->done_bio if the bio isn't tracked
rq_qos framework is only applied on request based driver, so:
rq_qos_done_bio() needn't to be called for bio based driver
rq_qos_done_bio() needn't to be called for bio which isn't tracked, such as bios ended from error handling code.
Especially in bio_endio():
request queue is referred via bio->bi_bdev->bd_disk->queue, which may be gone since request queue refcount may not be held in above two cases
q->rq_qos may be freed in blk_cleanup_queue() when calling into __rq_qos_done_bio()
Fix the potential kernel panic by not calling rq_qos_ops->done_bio if the bio isn't tracked. This way is safe because both ioc_rqos_done_bio() and blkcg_iolatency_done_bio() are nop if the bio isn't tracked.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 67b42d0bf7a8fd1ec0cf1acdc9550e688d7c8578 < db60edbfff332a6a5477c367af8125f034570989 | affected |
| Linux | Linux | 67b42d0bf7a8fd1ec0cf1acdc9550e688d7c8578 < 004b8f8a691205a93d9e80d98b786b2b97424d6e | affected |
| Linux | Linux | 67b42d0bf7a8fd1ec0cf1acdc9550e688d7c8578 < a647a524a46736786c95cdb553a070322ca096e3 | affected |
| Linux | Linux | 4.19 | affected |
| Linux | Linux | 0 < 4.19 | unaffected |
| Linux | Linux | 5.10.241 <= 5.10.* | unaffected |
| Linux | Linux | 5.14.11 <= 5.14.* | unaffected |
| Linux | Linux | 5.15 <= * | unaffected |
Weaknesses
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: no
- Technical Impact: partial
CVE Program Container
Additional References
- https://git.kernel.org/stable/c/004b8f8a691205a93d9e80d98b786b2b97424d6e
- https://git.kernel.org/stable/c/a647a524a46736786c95cdb553a070322ca096e3
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
References
- https://git.kernel.org/stable/c/db60edbfff332a6a5477c367af8125f034570989
- https://git.kernel.org/stable/c/004b8f8a691205a93d9e80d98b786b2b97424d6e
- https://git.kernel.org/stable/c/a647a524a46736786c95cdb553a070322ca096e3
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.