THREATINT

We use these services and cookies to improve your user experience. You may opt out if you wish, however, this may limit some features on this site.

Please see our statement on Data Privacy.

Zendesk (Helpdesk and Chat)

Ok

PUBLISHED

CVE-2021-47412

block: don't call rq_qos_ops->done_bio if the bio isn't tracked

Assigner:Linux (416baaa9-dc9f-4396-8d5f-8c081fb06d67)
Reserved:2024-05-21
Published:2024-05-21
Updated:2024-06-11

Description

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: 1) rq_qos_done_bio() needn't to be called for bio based driver 2) 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(): 1) 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 2) 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.

Product status

Default status
unaffected

1da177e4c3f4 before 004b8f8a6912
affected

1da177e4c3f4 before a647a524a467
affected

Default status
affected

5.14.11
unaffected

5.15
unaffected

References

https://git.kernel.org/stable/c/004b8f8a691205a93d9e80d98b786b2b97424d6e

https://git.kernel.org/stable/c/a647a524a46736786c95cdb553a070322ca096e3

cve.org CVE-2021-47412

nvd.nist.gov CVE-2021-47412

Download JSON

Share this page
https://cve.threatint.com/CVE/CVE-2021-47412