Database/Kernel, userspace & hypervisor
Linux kernel (drivers/iommu/amd): AMD-Vi hands out the completion-wait sequence number outside the IOMMU lock, so
Impact
AMD-Vi hands out the completion-wait sequence number outside the IOMMU lock, so completion commands get queued out of order and the driver's wait for 'invalidation finished' matches the wrong command or times out. The driver then continues as though an IOTLB flush completed when it did not, leaving stale translations usable by devices; the timeout storms themselves stall the invalidation path for every tenant on the node.
Who can reach it
Concurrent TLB invalidations - on a shared node that means several tenants issuing DMA map/unmap through vfio or iommufd at the same time, or heavy device DMA with SVA/PASID. This is load, not a crafted request: no host root and no special ioctl sequence, just enough parallel IOMMU traffic. AMD-Vi (EPYC) hosts only.
What to do
Update to 6.6.140 or 6.12.88 or later. No safe interim control on AMD hosts other than reducing concurrent passthrough DMA churn per node; do not treat unmap-then-reuse as a hard boundary until patched.
References
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.