CVE-2024-50135: nvme-pci: fix race condition between reset and nvme_dev_disable()
In the Linux kernel, the following vulnerability has been resolved:
nvme-pci: fix race condition between reset and nvmedevdisable()
nvmedevdisable() modifies the dev->onlinequeues field, therefore nvmepciupdatenrqueues() should avoid racing against it, otherwise we could end up passing invalid values to blkmqupdatenrhwqueues().
WARNING: CPU: 39 PID: 61303 at drivers/pci/msi/api.c:347 pciirqgetaffinity+0x187/0x210 Workqueue: nvme-reset-wq nvmeresetwork [nvme] RIP: 0010:pciirqgetaffinity+0x187/0x210 Call Trace: <TASK> ? blkmqpcimapqueues+0x87/0x3c0 ? pciirqgetaffinity+0x187/0x210 blkmqpcimapqueues+0x87/0x3c0 nvmepcimapqueues+0x189/0x460 [nvme] blkmqupdatenrhwqueues+0x2a/0x40 nvmeresetwork+0x1be/0x2a0 [nvme]
Fix the bug by locking the shutdownlock mutex before using dev->onlinequeues. Give up if nvmedevdisable() is running or if it has been executed already.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-50135?
CVE-2024-50135 has been classified as a medium severity vulnerability due to its potential impact on system stability.
How do I fix CVE-2024-50135?
To resolve CVE-2024-50135, you should upgrade your Linux kernel to the latest patched version that addresses this issue.
Which versions of the Linux kernel are affected by CVE-2024-50135?
CVE-2024-50135 affects Linux kernel versions between 4.6 and 6.6.59 as well as versions between 6.7 and 6.11.6, including 6.12-rc1, 6.12-rc2, and 6.12-rc3.
What type of vulnerability is CVE-2024-50135?
CVE-2024-50135 is a race condition vulnerability found in the nvme-pci driver of the Linux kernel.
Who is primarily affected by CVE-2024-50135?
Users and administrators running the affected versions of the Linux kernel, particularly those utilizing NVMe devices, are primarily impacted by CVE-2024-50135.