[PATCH 0/6] iommu/amd: Refactors for ATS updates

From: Pranjal Shrivastava

Date: Mon Jun 01 2026 - 09:47:38 EST


This series addresses some issues identified by Sashiko in the AMD IOMMU
driver during the review of the subsystem-wide ATS update work [1].

Patches 1-2 address the pre-existing bugs in iommu_ignore_device()
regarding the order of alias clearing and cleaning up the DTEs.

Patches 3-4 refine the probe error paths. As noted[2] by Ankit & Sashiko,
unconditionally calling iommu_ignore_device() on probe failure breaks
IRQ remapping for devices in PD_MODE_NONE. We now split the error paths
in probe_device to preserve interrupt mapping for non-fatal failures
while ensuring that dangling device pointers are cleared to prevent
potential UAFs.

Finally, patch 5 implements the Fail Hard pattern being standardized
for ATS, ensuring configuration errors are caught during probe_device and
ATS enablement failures are reported with a WARN_ON().

Patch 6 is carried forward as is from the original ATS work [3] to
maintain bisectibility.

[1] https://lore.kernel.org/all/20260529111208.387412-1-praan@xxxxxxxxxx/
[2] https://lore.kernel.org/all/20260529153216.2AD1E1F00899@xxxxxxxxxxxxxxx/
[3] https://lore.kernel.org/all/20260529111208.387412-4-praan@xxxxxxxxxx/

Thanks,
Praan

Pranjal Shrivastava (6):
iommu/amd: Clear aliases before setting the rlookup_table to NULL
iommu/amd: Clear DTE with update_dte256 in iommu_ignore_device()
iommu/amd: Split probe error paths to preserve IRQ remapping
iommu/amd: Fix Use-After-Free in non-fatal probe error path
iommu/amd: Fail probe on ATS configuration failure
PCI/ATS: Mandate checking pci_ats_supported() before pci_prepare_ats()

drivers/iommu/amd/iommu.c | 61 ++++++++++++++++++++++++++++++++-------
drivers/pci/ats.c | 6 ++--
2 files changed, 55 insertions(+), 12 deletions(-)

base-commit: 283d245468a2b61c41aa8b582f25ed5615d1c304
--
2.54.0.823.g6e5bcc1fc9-goog