iommu/vt-d: Flush dev-IOTLB only when PCIe device is accessible in scalable mode

Summary

CVECVE-2026-43130
StatePUBLISHED
AssignerLinux
Source PriorityCVE Program / NVD first with legacy fallback
Published2026-05-06 12:16:30 UTC
Updated2026-05-06 13:07:51 UTC
DescriptionIn 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 pci_dev_is_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: qi_submit_sync qi_flush_dev_iotlb intel_pasid_tear_down_entry device_block_translation blocking_domain_attach_dev __iommu_attach_device __iommu_device_set_domain __iommu_group_set_domain_internal iommu_detach_group vfio_iommu_type1_detach_group vfio_group_detach_container vfio_group_fops_release __fput Although pci_device_is_present() is slower than pci_dev_is_disconnected(), 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, devtlb_invalidation_with_pasid() is called only in the paths below, which are far less frequent than memory map/unmap. 1. mm-struct release 2. {attach,release}_dev 3. set/remove PASID 4. dirty-tracking setup The gain in system stability far outweighs the negligible cost of using pci_device_is_present() instead of pci_dev_is_disconnected() to decide when to skip ATS invalidation, especially under GDR high-load conditions.

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA Linux Linux affected f873b85ec762c5a6abe94a7ddb31df5d3ba07d85 581ce094d9eafb78ec4f9de77bd24b780c151236 git Not specified
CNA Linux Linux affected d70f1c85113cd8c2aa8373f491ca5d1b22ec0554 e2c78c69f8faf2885ea4ceee08c71ac738f401a0 git Not specified
CNA Linux Linux affected 34a7b30f56d30114bf4d436e4dc793afe326fbcf ead67d0378e90f419e385a43af29435242d80c12 git Not specified
CNA Linux Linux affected 2b74b2a92e524d7c8dec8e02e95ecf18b667c062 01aed2f1d7cb8fdf4c60c5bb4727608cb82b401d git Not specified
CNA Linux Linux affected 4fc82cd907ac075648789cc3a00877778aa1838b 9813306610d0d718c863aaa70928bf57d7570ec0 git Not specified
CNA Linux Linux affected 4fc82cd907ac075648789cc3a00877778aa1838b 9deaacc8dcaddb6ddc5b52e1e63b457450ec0f94 git Not specified
CNA Linux Linux affected 4fc82cd907ac075648789cc3a00877778aa1838b 0da6697e577023d8867c7beb2d16a22510e4eea9 git Not specified
CNA Linux Linux affected 4fc82cd907ac075648789cc3a00877778aa1838b 10e60d87813989e20eac1f3eda30b3bae461e7f9 git Not specified
CNA Linux Linux affected c04f2780919f20e2cc4846764221f5e802555868 git Not specified
CNA Linux Linux affected 025bc6b41e020aeb1e71f84ae3ffce945026de05 git Not specified
CNA Linux Linux affected 6.9 Not specified
CNA Linux Linux unaffected 6.9 semver Not specified
CNA Linux Linux unaffected 5.10.252 5.10.* semver Not specified
CNA Linux Linux unaffected 5.15.202 5.15.* semver Not specified
CNA Linux Linux unaffected 6.1.165 6.1.* semver Not specified
CNA Linux Linux unaffected 6.6.128 6.6.* semver Not specified
CNA Linux Linux unaffected 6.12.75 6.12.* semver Not specified
CNA Linux Linux unaffected 6.18.16 6.18.* semver Not specified
CNA Linux Linux unaffected 6.19.6 6.19.* semver Not specified
CNA Linux Linux unaffected 7.0 * original_commit_for_fix Not specified

References

ReferenceSourceLinkTags
git.kernel.org/stable/c/ead67d0378e90f419e385a43af29435242d80c12 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/581ce094d9eafb78ec4f9de77bd24b780c151236 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/01aed2f1d7cb8fdf4c60c5bb4727608cb82b401d 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/10e60d87813989e20eac1f3eda30b3bae461e7f9 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/e2c78c69f8faf2885ea4ceee08c71ac738f401a0 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/0da6697e577023d8867c7beb2d16a22510e4eea9 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/9deaacc8dcaddb6ddc5b52e1e63b457450ec0f94 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/9813306610d0d718c863aaa70928bf57d7570ec0 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis
© CVE.report 2026 |

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report