From: Liu, Yi L yi.l.liu@intel.com 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,
if (rc) goto err_unlock;!!hwpt->parent);
I prefer to not setting parent ioas to hwpt in iommufd_hw_pagetable_alloc().
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.