This bug is missing log files that will aid in diagnosing the problem.
While running an Ubuntu kernel (not a mainline or third-party kernel)
please enter the following command in a terminal window:
apport-collect 1969086
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable
to run this command, please add a comment stating that fact and change
the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the
Ubuntu Kernel Team.
** Changed in: linux (Ubuntu)
Status: New => Incomplete
** Changed in: linux (Ubuntu Impish)
Status: New => Incomplete
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-oem-5.14 in Ubuntu.
https://bugs.launchpad.net/bugs/1969086
Title:
Enable swiotlb to avoid untrusted devices errors on AMD platforms
Status in HWE Next:
New
Status in linux package in Ubuntu:
Incomplete
Status in linux-oem-5.14 package in Ubuntu:
Invalid
Status in linux-oem-5.17 package in Ubuntu:
New
Status in linux source package in Focal:
Invalid
Status in linux-oem-5.14 source package in Focal:
New
Status in linux-oem-5.17 source package in Focal:
Invalid
Status in linux source package in Impish:
Incomplete
Status in linux-oem-5.14 source package in Impish:
Invalid
Status in linux-oem-5.17 source package in Impish:
Invalid
Status in linux source package in Jammy:
Incomplete
Status in linux-oem-5.14 source package in Jammy:
Invalid
Status in linux-oem-5.17 source package in Jammy:
New
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1969086/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp