Skip to content

Commit 71ff461

Browse files
tmlindjoergroedel
authored andcommitted
iommu/omap: Fix regression in probe for NULL pointer dereference
Commit 3f6634d ("iommu: Use right way to retrieve iommu_ops") started triggering a NULL pointer dereference for some omap variants: __iommu_probe_device from probe_iommu_group+0x2c/0x38 probe_iommu_group from bus_for_each_dev+0x74/0xbc bus_for_each_dev from bus_iommu_probe+0x34/0x2e8 bus_iommu_probe from bus_set_iommu+0x80/0xc8 bus_set_iommu from omap_iommu_init+0x88/0xcc omap_iommu_init from do_one_initcall+0x44/0x24 This is caused by omap iommu probe returning 0 instead of ERR_PTR(-ENODEV) as noted by Jason Gunthorpe <jgg@ziepe.ca>. Looks like the regression already happened with an earlier commit 6785eb9 ("iommu/omap: Convert to probe/release_device() call-backs") that changed the function return type and missed converting one place. Cc: Drew Fustini <dfustini@baylibre.com> Cc: Lu Baolu <baolu.lu@linux.intel.com> Cc: Suman Anna <s-anna@ti.com> Suggested-by: Jason Gunthorpe <jgg@ziepe.ca> Fixes: 6785eb9 ("iommu/omap: Convert to probe/release_device() call-backs") Fixes: 3f6634d ("iommu: Use right way to retrieve iommu_ops") Signed-off-by: Tony Lindgren <tony@atomide.com> Tested-by: Drew Fustini <dfustini@baylibre.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Link: https://lore.kernel.org/r/20220331062301.24269-1-tony@atomide.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
1 parent 3123109 commit 71ff461

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/iommu/omap-iommu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1661,7 +1661,7 @@ static struct iommu_device *omap_iommu_probe_device(struct device *dev)
16611661
num_iommus = of_property_count_elems_of_size(dev->of_node, "iommus",
16621662
sizeof(phandle));
16631663
if (num_iommus < 0)
1664-
return 0;
1664+
return ERR_PTR(-ENODEV);
16651665

16661666
arch_data = kcalloc(num_iommus + 1, sizeof(*arch_data), GFP_KERNEL);
16671667
if (!arch_data)

0 commit comments

Comments
 (0)