从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:nvme-pci: fix race condition between reset and nvme_dev_disable() - 描述:nvme_dev_disable() 修改了 dev->online_queues 字段,因此 nvme_pci_update_nr_queues() 应该避免与它竞争,否则可能会传递无效值到 blk_mq_update_nr_hw_queues()。 2. 警告信息: - CPU: 39 PID: 61303 at drivers/pci/msi/api.c:347 - Workqueue: nvme-reset-wq nvme_reset_work [nvme] - RIP: 0x10:pci_irq_get_affinity+0x187/0x210 3. 修复措施: - 通过锁定 shutdown_lock mutex 以避免使用 dev->online_queues。 - 如果 nvme_dev_disable() 正在运行或已经执行过,放弃修复。 4. 补丁内容: - 修改了 nvme_pci_update_nr_queues() 函数,添加了检查 nvme_dev_disable() 是否正在运行或已经执行过的逻辑。 5. 补丁应用位置: - 在 drivers/nvme/host/pci.c 文件中,从第 2469 行到第 2469 行。 6. 补丁应用结果: - 1 个文件更改,16 个插入,3 个删除。 7. 补丁应用前后代码对比: - 显示了补丁应用前后的代码差异,主要修改了 nvme_pci_update_nr_queues() 函数。 这些信息表明,该补丁修复了一个在 nvme-pci 设备中可能出现的竞态条件,该条件可能导致无效的值传递到 blk_mq_update_nr_hw_queues() 函数。修复措施是通过锁定 shutdown_lock mutex 来避免与 nvme_dev_disable() 竞争。