Re: [PATCH v3 06/17] iommufd: Only enforce IOMMU_RESV_SW_MSI when attaching user-managed HWPT

From: Jason Gunthorpe
Date: Fri Jul 28 2023 - 13:07:06 EST


On Fri, Jul 28, 2023 at 10:02:36AM +0000, Tian, Kevin wrote:
> > From: Liu, Yi L <yi.l.liu@xxxxxxxxx>
> > Sent: Monday, July 24, 2023 7:04 PM
> > }
> >
> > rc = iopt_table_enforce_dev_resv_regions(&hwpt->ioas->iopt, idev-
> > >dev,
> > - &idev->igroup-
> > >sw_msi_start);
> > + &idev->igroup-
> > >sw_msi_start,
> > + !!hwpt->parent);
> > if (rc)
> > goto err_unlock;
>
> I prefer to not setting parent ioas to hwpt in iommufd_hw_pagetable_alloc().

Yes, the prior patch didn't add it to the iopt, so it shouldn't have
an ioas set. The NESTED domains don't have an IOAS almost by
definition.

> then here ioas can be retrieved from hwpt->parent and then it'd be pretty
> clear that in nested case the sw_msi reservation happens in the parent
> instead of pretending the stage-1 hwpt has an ioas too.

Yeah, I'm confused by this patch as well. Since there should be no
IOAS for the NESTED why are we messing with resv_regions?

Jason