]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iommu/amd: Fix error path in amd_iommu_probe_device()
authorVasant Hegde <vasant.hegde@amd.com>
Fri, 16 Jan 2026 05:53:32 +0000 (05:53 +0000)
committerJoerg Roedel <joerg.roedel@amd.com>
Sun, 18 Jan 2026 10:03:12 +0000 (11:03 +0100)
Currently, the error path of amd_iommu_probe_device() unconditionally
references dev_data, which may not be initialized if an early failure
occurs (like iommu_init_device() fails).

Move the out_err label to ensure the function exits immediately on
failure without accessing potentially uninitialized dev_data.

Fixes: 19e5cc156cb ("iommu/amd: Enable support for up to 2K interrupts per function")
Cc: Rakuram Eswaran <rakuram.e96@gmail.com>
Cc: Jörg Rödel <joro@8bytes.org>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202512191724.meqJENXe-lkp@intel.com/
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
drivers/iommu/amd/iommu.c

index 5d45795c367a6be0acf32213556c2bd900d175b8..7c12be1b247f43fe17ebb195d98029e68eee4271 100644 (file)
@@ -2450,8 +2450,6 @@ static struct iommu_device *amd_iommu_probe_device(struct device *dev)
                goto out_err;
        }
 
-out_err:
-
        iommu_completion_wait(iommu);
 
        if (FEATURE_NUM_INT_REMAP_SUP_2K(amd_iommu_efr2))
@@ -2462,6 +2460,7 @@ out_err:
        if (dev_is_pci(dev))
                pci_prepare_ats(to_pci_dev(dev), PAGE_SHIFT);
 
+out_err:
        return iommu_dev;
 }