Merge tag 'iommu-fixes-v6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux

Pull iommu fixes from Joerg Roedel:

- AMD IOMMU: Fix potential NULL-ptr dereference in error path
of amd_iommu_probe_device()

- Generic IOMMUPT: Fix another compiler issue seen with older
compiler versions

- Fix signedness issue in ARM IO-PageTable code

* tag 'iommu-fixes-v6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux:
iommu/io-pgtable-arm: fix size_t signedness bug in unmap path
iommupt: Make it clearer to the compiler that pts.level == 0 for single page
iommu/amd: Fix error path in amd_iommu_probe_device()

+3 -4
+1 -2
drivers/iommu/amd/iommu.c
··· 2450 2450 goto out_err; 2451 2451 } 2452 2452 2453 - out_err: 2454 - 2455 2453 iommu_completion_wait(iommu); 2456 2454 2457 2455 if (FEATURE_NUM_INT_REMAP_SUP_2K(amd_iommu_efr2)) ··· 2460 2462 if (dev_is_pci(dev)) 2461 2463 pci_prepare_ats(to_pci_dev(dev), PAGE_SHIFT); 2462 2464 2465 + out_err: 2463 2466 return iommu_dev; 2464 2467 } 2465 2468
+1 -1
drivers/iommu/generic_pt/iommu_pt.h
··· 645 645 struct pt_iommu_map_args *map = arg; 646 646 647 647 pts.type = pt_load_single_entry(&pts); 648 - if (level == 0) { 648 + if (pts.level == 0) { 649 649 if (pts.type != PT_ENTRY_EMPTY) 650 650 return -EADDRINUSE; 651 651 pt_install_leaf_entry(&pts, map->oa, PAGE_SHIFT,
+1 -1
drivers/iommu/io-pgtable-arm.c
··· 637 637 pte = READ_ONCE(*ptep); 638 638 if (!pte) { 639 639 WARN_ON(!(data->iop.cfg.quirks & IO_PGTABLE_QUIRK_NO_WARN)); 640 - return -ENOENT; 640 + return 0; 641 641 } 642 642 643 643 /* If the size matches this level, we're in the right place */