Re: [PATCH v4 8/9] iommu: Remove unused argument in is_attach_deferred

Jason Gunthorpe
2022-03-30T14:23:51Z

On Wed, Mar 30, 2022 at 05:00:39PM +0300, Tony Lindgren wrote:
> Hi,
>
> * Lu Baolu <baolu.lu@linux.intel.com> [700101 02:00]:
> > The is_attach_deferred iommu_ops callback is a device op. The domain
> > argument is unnecessary and never used. Remove it to make code clean.
>
> Looks like this causes a regression for at least drivers/iommu/omap-iommu.c.
>
> To me it seems the issue is there is no is_attach_deferred implemented, so
> we get a NULL pointer dereference at virtual address 00000008:
>
> __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/0x24c
>
> Any ideas for a fix?
>
> It would be good to fix this quickly so we don't end up with a broken
> v5.18-rc1..
>
> For reference, this is mainline commit 41bb23e70b50 ("iommu: Remove unused
> argument in is_attach_deferred").

Are you confident in the bisection? I don't see how that commit could
NULL deref..

Can you find the code that is the NULL deref?

Jason