PCI:将缺失的桥锁添加到 pci_bus_lock() (CVE-2024-46750)
CVE编号
CVE-2024-46750利用情况
暂无补丁情况
N/A披露时间
2024-09-18漏洞描述
在Linux内核中,已经解决了一个漏洞,具体描述如下:PCI:在pci_bus_lock()中添加缺失的桥锁cfg_access_lock锁定的真正正面之一是这个序列:警告:CPU:14 PID:1在drivers/pci/pci.c的第4886行pci_bridge_secondary_bus_reset+0x5d/0x70处发生问题。该序列指出,在调用pci_reset_bus()时触发了未锁定的二级总线重置。有趣的是,pci_bus_reset(),这是从pci_reset_bus()调用的函数之一,在发出重置之前使用pci_bus_lock()锁定所有内容,但并未锁定桥本身。为了解决这个问题并添加相应的锁机制,我们在pci_reset_function()中为“总线”和“cxl_bus”重置情况添加了以下代码:bridge = pci_upstream_bridge(dev); if (bridge) pci_dev_lock(bridge);现在,我们需要为@bus->self添加pci_dev_lock()到pci_bus_lock()中。此外,参考bhelgaas的建议,我们合并了Keith Busch的递归锁定死锁修复方案(链接:https://lore.kernel.org/r/[email protected])。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。- 攻击路径 N/A
- 攻击复杂度 N/A
- 权限要求 N/A
- 影响范围 N/A
- 用户交互 N/A
- 可用性 N/A
- 保密性 N/A
- 完整性 N/A
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论