Public bug reported: It's been observed that plugging in a TBT3 NVME device to a port marked with ExternalFacingPort that some DMA transactions occur that are not a full page and so the DMA API attempts to use software bounce buffers instead of relying upon the IOMMU translation.
This doesn't work and leads to messaging like: swiotlb buffer is full (sz: 4096 bytes), total 0 (slots), used 0 (slots) The bounce buffers were originally set up, but torn down during the boot process. * This happens because as part of IOMMU initialization `amd_iommu_init_dma_ops` gets called and resets the global swiotlb to 0. * When late_init gets called `pci_swiotlb_late_init` `swiotlb_exit` is called and the buffers are torn down. This can be observed in the logs: ``` [ 0.407286] AMD-Vi: Extended features (0x246577efa2254afa): PPR NX GT [5] IA GA PC GA_vAPIC [ 0.407291] AMD-Vi: Interrupt remapping enabled [ 0.407292] AMD-Vi: Virtual APIC enabled [ 0.407872] software IO TLB: tearing down default memory pool ``` This series fixes the behavior of AMD IOMMU to enable swiotlb so that non-page aligned DMA goes through a bounce buffer. It also adds a message to help with debugging similar problems in the future. ** Affects: hwe-next Importance: Undecided Status: New ** Affects: linux (Ubuntu) Importance: Undecided Status: New ** Affects: linux-oem-5.14 (Ubuntu) Importance: Undecided Status: Invalid ** Affects: linux-oem-5.17 (Ubuntu) Importance: Undecided Status: New ** Affects: linux (Ubuntu Focal) Importance: Undecided Status: Invalid ** Affects: linux-oem-5.14 (Ubuntu Focal) Importance: Undecided Status: New ** Affects: linux-oem-5.17 (Ubuntu Focal) Importance: Undecided Status: Invalid ** Affects: linux (Ubuntu Impish) Importance: Undecided Status: New ** Affects: linux-oem-5.14 (Ubuntu Impish) Importance: Undecided Status: Invalid ** Affects: linux-oem-5.17 (Ubuntu Impish) Importance: Undecided Status: Invalid ** Affects: linux (Ubuntu Jammy) Importance: Undecided Status: New ** Affects: linux-oem-5.14 (Ubuntu Jammy) Importance: Undecided Status: Invalid ** Affects: linux-oem-5.17 (Ubuntu Jammy) Importance: Undecided Status: New ** Tags: amd oem-priority originate-from-1968137 ** Tags added: amd oem-priority originate-from-1968137 ** Also affects: linux-oem-5.17 (Ubuntu) Importance: Undecided Status: New ** Also affects: linux-oem-5.14 (Ubuntu) Importance: Undecided Status: New ** Also affects: linux (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: linux-oem-5.14 (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: linux-oem-5.17 (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: linux (Ubuntu Jammy) Importance: Undecided Status: New ** Also affects: linux-oem-5.14 (Ubuntu Jammy) Importance: Undecided Status: New ** Also affects: linux-oem-5.17 (Ubuntu Jammy) Importance: Undecided Status: New ** Changed in: linux (Ubuntu Focal) Status: New => Invalid ** Changed in: linux-oem-5.14 (Ubuntu Jammy) Status: New => Invalid ** Changed in: linux-oem-5.17 (Ubuntu Focal) Status: New => Invalid ** Also affects: linux (Ubuntu Impish) Importance: Undecided Status: New ** Also affects: linux-oem-5.14 (Ubuntu Impish) Importance: Undecided Status: New ** Also affects: linux-oem-5.17 (Ubuntu Impish) Importance: Undecided Status: New ** Changed in: linux-oem-5.14 (Ubuntu Impish) Status: New => Invalid ** Changed in: linux-oem-5.17 (Ubuntu Impish) Status: New => Invalid -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1969086 Title: Enable swiotlb to avoid untrusted devices errors on AMD platforms To manage notifications about this bug go to: https://bugs.launchpad.net/hwe-next/+bug/1969086/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs