In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible in scalable mode
Commit 4fc82cd907ac ("iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected") relies on pcidevis_disconnected() to skip ATS invalidation for safely-removed devices, but it does not cover link-down caused by faults, which can still hard-lock the system.
For example, if a VM fails to connect to the PCIe device, "virsh destroy" is executed to release resources and isolate the fault, but a hard-lockup occurs while releasing the group fd.
Call Trace: qisubmitsync qiflushdeviotlb intelpasidteardownentry deviceblocktranslation blockingdomainattachdev __iommuattachdevice __iommudeviceset_domain __iommugroupsetdomaininternal iommudetachgroup vfioiommutype1detachgroup vfiogroupdetachcontainer vfiogroupfopsrelease __fput
Although pcideviceispresent() is slower than pcidevisdisconnected(), it still takes only ~70 µs on a ConnectX-5 (8 GT/s, x2) and becomes even faster as PCIe speed and width increase.
Besides, devtlbinvalidationwith_pasid() is called only in the paths below, which are far less frequent than memory map/unmap.
The gain in system stability far outweighs the negligible cost of using pcideviceispresent() instead of pcidevisdisconnected() to decide when to skip ATS invalidation, especially under GDR high-load conditions.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43130.json",
"cna_assigner": "Linux"
}