On Tue, Oct 24, 2023 at 02:18:10PM -0300, Jason Gunthorpe wrote: > On Tue, Oct 24, 2023 at 08:06:06AM -0700, Yi Liu wrote: > > @@ -195,6 +279,10 @@ int iommufd_hwpt_alloc(struct iommufd_ucmd *ucmd) > > if (pt_obj->type == IOMMUFD_OBJ_IOAS) { > > struct iommufd_hwpt_paging *hwpt_paging; > > > > + if (cmd->data_type != IOMMU_HWPT_DATA_NONE) { > > + rc = -EINVAL; > > + goto out_put_pt; > > + } > > ioas = container_of(pt_obj, struct iommufd_ioas, obj); > > mutex_lock(&ioas->mutex); > > hwpt_paging = iommufd_hwpt_paging_alloc(ucmd->ictx, ioas, idev, > > ?? What is this? > > Ah something went wrong earlier in "iommu: Pass in parent domain with > user_data to domain_alloc_user op" > > Once we added the user_data we should flow it through to the op > always. Hmm, iommufd_hwpt_paging_alloc doesn't take (or need) user_data, but we could pass in a dummy one if that looks better? Thanks Nicolin