CVE-2021-47412

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc2:*:*:*:*:*:*

History

03 Nov 2025, 18:15

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html -

25 Sep 2025, 15:27

Type Values Removed Values Added
First Time Linux linux Kernel
Linux
CWE NVD-CWE-noinfo
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.15:rc2:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/004b8f8a691205a93d9e80d98b786b2b97424d6e - () https://git.kernel.org/stable/c/004b8f8a691205a93d9e80d98b786b2b97424d6e - Patch
References () https://git.kernel.org/stable/c/a647a524a46736786c95cdb553a070322ca096e3 - () https://git.kernel.org/stable/c/a647a524a46736786c95cdb553a070322ca096e3 - Patch
References () https://git.kernel.org/stable/c/db60edbfff332a6a5477c367af8125f034570989 - () https://git.kernel.org/stable/c/db60edbfff332a6a5477c367af8125f034570989 - Patch

28 Aug 2025, 15:15

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/db60edbfff332a6a5477c367af8125f034570989 -

21 Nov 2024, 06:36

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/004b8f8a691205a93d9e80d98b786b2b97424d6e - () https://git.kernel.org/stable/c/004b8f8a691205a93d9e80d98b786b2b97424d6e -
References () https://git.kernel.org/stable/c/a647a524a46736786c95cdb553a070322ca096e3 - () https://git.kernel.org/stable/c/a647a524a46736786c95cdb553a070322ca096e3 -
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bloque: no llame a rq_qos_ops->done_bio si no se realiza un seguimiento de la biografía. El framework rq_qos solo se aplica en el controlador basado en solicitudes, por lo que: 1) rq_qos_done_bio() no necesita hacerlo ser llamado para un controlador basado en biografía 2) No es necesario llamar a rq_qos_done_bio() para una biografía que no está rastreada, como una biografía terminada por un código de manejo de errores. Especialmente en bio_endio(): 1) la cola de solicitudes se remite a través de bio->bi_bdev->bd_disk->queue, que puede desaparecer ya que el recuento de la cola de solicitudes no se puede mantener en los dos casos anteriores 2) q->rq_qos se puede liberar en blk_cleanup_queue() al llamar a __rq_qos_done_bio() Solucione el posible pánico del kernel al no llamar a rq_qos_ops->done_bio si no se realiza un seguimiento de la biografía. Esta forma es segura porque tanto ioc_rqos_done_bio() como blkcg_iolatency_done_bio() no funcionan si no se realiza un seguimiento de la biografía.

21 May 2024, 15:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-05-21 15:15

Updated : 2025-11-03 18:15


NVD link : CVE-2021-47412

Mitre link : CVE-2021-47412

CVE.ORG link : CVE-2021-47412


JSON object : View

Products Affected

linux

  • linux_kernel