On Tue, Apr 30, 2024 at 10:57:04PM +0800, Lu Baolu wrote:
> @@ -206,8 +197,11 @@ void iommu_report_device_fault(struct device *dev, 
> struct iopf_fault *evt)
>       if (group == &abort_group)
>               goto err_abort;
>  
> -     group->domain = get_domain_for_iopf(dev, fault);
> -     if (!group->domain)
> +     if (!(fault->prm.flags & IOMMU_FAULT_PAGE_REQUEST_PASID_VALID) ||
> +         get_attach_handle_for_iopf(dev, fault->prm.pasid, group))
> +             get_attach_handle_for_iopf(dev, IOMMU_NO_PASID, group);

That seems a bit weird looking?

get_attach_handle_for_iopf(dev, 
   (fault->prm.flags &
   IOMMU_FAULT_PAGE_REQUEST_PASID_VALID) ? fault->prm.pasid : IOMMU_NO_PASID,
   group);

Jason

Reply via email to