Re: [PATCH] iommu: __iommu_attach_group: check for non-NULL blocking_domain

From: Sakari Ailus
Date: Wed Oct 01 2025 - 02:04:16 EST


Hi Hans, Jason,

On Mon, Sep 29, 2025 at 03:30:22PM +0200, Hans Verkuil wrote:
> On 29/09/2025 15:02, Jason Gunthorpe wrote:
> > On Mon, Sep 29, 2025 at 02:18:50PM +0200, Hans Verkuil wrote:
> >> On 29/09/2025 14:07, Jason Gunthorpe wrote:
> >>> On Mon, Sep 29, 2025 at 10:23:47AM +0200, Hans Verkuil wrote:
> >>>
> >>>> Since I am unfamiliar with the iommu core code, I am uncertain whether I am
> >>>> just papering over a bug elsewhere, or whether this is really the correct solution.
> >>>
> >>> It is papering over something, group->domain is not supposed to be
> >>> NULL at this point.. That probably means the iommu driver has not been
> >>
> >> It's group->blocking_domain that's NULL, not group->domain.
> >
> > Er, I thought you were hitting a false positive on this:
> >
> > group->domain != group->blocking_domain
> >
> > ie NULL != NULL
> >
> > But I suppose the whole expression is checking for group->domain
> > already.
> >
> > All your patch does is entirely disable the safetly logic :\
> >
> > What is isp_attach_iommu() trying to accomplish? It does
> > arm_iommu_detach_device() and then arm_iommu_attach_device() ?
> >
> > Why?
> >
> > Is this trying to force a non-identity translation for ISP?

The omap3isp driver expects to use its own virtual address space for the
ISP: the video buffers are mapped there as virtually contiguous (physically
they can be whatever).

--
Kind regards,

Sakari Ailus