CVE-2024-57946

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/01/2025
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> virtio-blk: don&amp;#39;t keep queue frozen during system suspend<br /> <br /> Commit 4ce6e2db00de ("virtio-blk: Ensure no requests in virtqueues before<br /> deleting vqs.") replaces queue quiesce with queue freeze in virtio-blk&amp;#39;s<br /> PM callbacks. And the motivation is to drain inflight IOs before suspending.<br /> <br /> block layer&amp;#39;s queue freeze looks very handy, but it is also easy to cause<br /> deadlock, such as, any attempt to call into bio_queue_enter() may run into<br /> deadlock if the queue is frozen in current context. There are all kinds<br /> of -&gt;suspend() called in suspend context, so keeping queue frozen in the<br /> whole suspend context isn&amp;#39;t one good idea. And Marek reported lockdep<br /> warning[1] caused by virtio-blk&amp;#39;s freeze queue in virtblk_freeze().<br /> <br /> [1] https://lore.kernel.org/linux-block/ca16370e-d646-4eee-b9cc-87277c89c43c@samsung.com/<br /> <br /> Given the motivation is to drain in-flight IOs, it can be done by calling<br /> freeze &amp; unfreeze, meantime restore to previous behavior by keeping queue<br /> quiesced during suspend.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.4.289 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.233 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.176 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.123 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.69 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.8 (excluding)
cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc6:*:*:*:*:*:*