从这个网页截图中,可以获取到以下关于漏洞的关键信息: 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 互斥量来修复 bug,确保在使用 dev->online_queues 之前锁定。 - 如果 nvme_dev_disable() 正在运行或已经执行过,放弃修复。 4. 补丁内容: - 在 nvme_pci_update_nr_queues() 函数中添加了检查和锁定互斥量的代码。 5. 补丁应用: - 该补丁应用在 drivers/nvme/host/pci.c 文件中,增加了 16 个插入和 3 个删除。 6. 补丁应用位置: - 差异应用在第 -2506,17 +2506,29 行。 7. 补丁应用结果: - 该补丁修复了 949928c1c731 ("NVME: Fix possible queue use after freed") 的问题。 8. 测试和审查: - 测试由 Yi Zhang 进行,审查由 Christoph Hellwig 和 Keith Busch 进行,签名确认由 Maurizio Lombardi、Keith Busch 和 Sasha Levin 进行。 这些信息表明,该补丁修复了一个与 nvme_dev_disable() 和 nvme_pci_update_nr_queues() 之间的竞争条件相关的漏洞。