CVE-2026-43130Linux内核IOMMU/VT-D驱动存在拒绝服务漏洞。当PCIe设备因故障导致链路断开时,系统在资源释放(如VM销毁)过程中尝试刷新dev-IOTLB。由于现有检查机制无法有效识别此类故障,系统会尝试访问不可用的硬件,最终导致硬锁定和系统崩溃。该漏洞需要本地低权限用户触发,主要影响系统可用性。
该漏洞位于Linux内核的iommu/vt-d模块。此前提交的补丁使用`pci_dev_is_disconnected()`来跳过已断开设备的ATS无效化请求,但该函数无法覆盖由硬件故障引发的链路断开情况。在虚拟化场景中,若VM连接设备失败,执行`virsh destroy`释放资源时,会调用`vfio_group_fops_release` -> `qi_flush_dev_iotlb`。此时若设备处于链路断开状态,硬件访问会导致CPU硬锁定。修复方案是将检查函数替换为`pci_device_is_present()`,尽管该函数耗时略长(约70µs),但能准确判断设备状态,避免系统崩溃,确保高负载下的稳定性。