On Tue, Aug 08, 2023 at 12:12:42PM -0300, Jason Gunthorpe wrote:Make sense. I'll refine the error handling paths in bind/unbind functions in the next version.
Lets please rework this function into two partsI suppose we can't quite do this fully since the domain allocation
The first should be 'iommu_sva_alloc_domain()'
It should do the list searching and user management. The usual
'iommu_domain_free()' should be modified to clean it up.
needs to use set_dev_pasid to detect compatability :( This is a
similar problem we had with iommufd too.
Still, the 'alloc and set_dev_pasid' should be in one function and it
should be undone with iommu_detach_device_pasid() and
iommu_domain_free().
The helper bind/unbind functions should wrapper that sequence.
Jason