CVE-2022-50552: blk-mq: use quiesced elevator switch when reinitializing queues
In the Linux kernel, the following vulnerability has been resolved:
blk-mq: use quiesced elevator switch when reinitializing queues
The hctx's runwork may be racing with the elevator switch when reinitializing hardware queues. The queue is merely frozen in this context, but that only prevents requests from allocating and doesn't stop the hctx work from running. The work may get an elevator pointer that's being torn down, and can result in use-after-free errors and kernel panics (example below). Use the quiesced elevator switch instead, and make the previous one static since it is now only used locally.
nvme nvme0: resetting controller nvme nvme0: 32/0/0 default/read/poll queues BUG: kernel NULL pointer dereference, address: 0000000000000008 #PF: supervisor read access in kernel mode #PF: errorcode(0x0000) - not-present page PGD 80000020c8861067 P4D 80000020c8861067 PUD 250f8c8067 PMD 0 Oops: 0000 [#1] SMP PTI Workqueue: kblockd blkmqrunworkfn RIP: 0010:kyberhaswork+0x29/0x70
...
Call Trace: blkmqdodispatchsched+0x83/0x2b0 blkmqscheddispatchrequests+0x12e/0x170 blkmqscheddispatchrequests+0x30/0x60 blkmqrunhwqueue+0x2b/0x50 processonework+0x1ef/0x380 workerthread+0x2d/0x3e0
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2022-50552?
CVE-2022-50552 is classified as a medium severity vulnerability due to potential race conditions during the reinitialization of hardware queues.
How do I fix CVE-2022-50552?
To mitigate CVE-2022-50552, update to the latest patched version of the Linux kernel where this vulnerability has been addressed.
What systems are affected by CVE-2022-50552?
CVE-2022-50552 affects the Linux kernel, specifically regarding the blk-mq subsystem.
Can CVE-2022-50552 be exploited remotely?
CVE-2022-50552 does not appear to be a remotely exploitable vulnerability, though it could potentially impact local system stability.
What are the implications of CVE-2022-50552 on performance?
The implications of CVE-2022-50552 may include transient performance degradation due to race conditions during queue management.