On Thu, 12 Sept 2024 at 12:29, Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx> wrote: > > Have you tested the user page fault? > > > > I got an issue, when a user page fault happens, > > group->attach_handle = iommu_attach_handle_get(pasid) > > return NULL. > > > > A bit confused here, only find IOMMU_NO_PASID is used when attaching > > > > __fault_domain_replace_dev > > ret = iommu_replace_group_handle(idev->igroup->group, hwpt->domain, > > &handle->handle); > > curr = xa_store(&group->pasid_array, IOMMU_NO_PASID, handle, GFP_KERNEL); > > > > not find where the code attach user pasid with the attach_handle. > > Have you set iommu_ops::user_pasid_table for SMMUv3 driver? Thanks Baolu Can we send a patch to make it as default? +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -3570,6 +3570,7 @@ static struct iommu_ops arm_smmu_ops = { .viommu_alloc = arm_vsmmu_alloc, .pgsize_bitmap = -1UL, /* Restricted during device attach */ .owner = THIS_MODULE, + .user_pasid_table = 1, Thanks