[PATCH 0/4] PCI, iommu: Factor 'untrusted' check for ATS enablement

Jean-Philippe Brucker
2020-05-15T10:48:35Z

I sent these in March as part of ATS enablement for device-tree [1], but
haven't found the time to address the largest comment on that series
about consolidating the root bridge ATS support between the different
ACPI tables.

I'm resending only the bits that consolidate the 'untrusted' check for
ATS, since there have been more discussions about this [2]. Patch 1
moves the 'untrusted' check to drivers/pci/ats.c and patches 2-4 modify
the ATS-capable IOMMU drivers.

The only functional change should be to the AMD IOMMU driver. With this
change all IOMMU drivers block 'Translated' PCIe transactions and
Translation Requests from untrusted devices.

[1] https://lore.kernel.org/linux-iommu/20200311124506.208376-1-jean-philippe@linaro.org/
[2] https://lore.kernel.org/linux-pci/20200513151929.GA38418@bjorn-Precision-5520/

Jean-Philippe Brucker (4):
PCI/ATS: Only enable ATS for trusted devices
iommu/amd: Use pci_ats_supported()
iommu/arm-smmu-v3: Use pci_ats_supported()
iommu/vt-d: Use pci_ats_supported()

include/linux/pci-ats.h | 3 +++
drivers/iommu/amd_iommu.c | 12 ++++--------
drivers/iommu/arm-smmu-v3.c | 20 +++++---------------
drivers/iommu/intel-iommu.c | 9 +++------
drivers/pci/ats.c | 18 +++++++++++++++++-
5 files changed, 32 insertions(+), 30 deletions(-)

--
2.26.2