Description
In the Linux kernel, the following vulnerability has been resolved: nvme-pci: fix race condition between reset and nvme_dev_disable() nvme_dev_disable() modifies the dev->online_queues field, therefore nvme_pci_update_nr_queues() should avoid racing against it, otherwise we could end up passing invalid values to blk_mq_update_nr_hw_queues(). WARNING: CPU: 39 PID: 61303 at drivers/pci/msi/api.c:347 pci_irq_get_affinity+0x187/0x210 Workqueue: nvme-reset-wq nvme_reset_work [nvme] RIP: 0010:pci_irq_get_affinity+0x187/0x210 Call Trace: <TASK> ? blk_mq_pci_map_queues+0x87/0x3c0 ? pci_irq_get_affinity+0x187/0x210 blk_mq_pci_map_queues+0x87/0x3c0 nvme_pci_map_queues+0x189/0x460 [nvme] blk_mq_update_nr_hw_queues+0x2a/0x40 nvme_reset_work+0x1be/0x2a0 [nvme] Fix the bug by locking the shutdown_lock mutex before using dev->online_queues. Give up if nvme_dev_disable() is running or if it has been executed already.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
949928c1c731417cc0f070912c63878b62b544f4 to < 4ed32cc0939b64e3d7b48c8c0d63ea038775f304affected949928c1c731417cc0f070912c63878b62b544f4 to < b33e49a5f254474b33ce98fd45dd0ffdc247a0beaffected949928c1c731417cc0f070912c63878b62b544f4 to < 26bc0a81f64ce00fc4342c38eeb2eddaad084dd2affected
Linux Linux
Default version status: affected
4.6affected0 to < 4.6unaffected6.6.59 to ≤ 6.6.*unaffected6.11.6 to ≤ 6.11.*unaffected6.12 to ≤ *unaffected