Re: [PATCH v5 01/14] iommu: Add dma ownership management interfaces

From: Lu Baolu
Date: Wed Jan 05 2022 - 22:19:16 EST


On 1/5/22 3:23 AM, Jason Gunthorpe wrote:
The vfio oriented interfaces are,

int iommu_group_set_dma_owner(struct iommu_group *group,
void *owner);
void iommu_group_release_dma_owner(struct iommu_group *group);
bool iommu_group_dma_owner_claimed(struct iommu_group *group);

The device userspace assignment must be disallowed if the set dma owner
interface returns failure.
Can you connect this back to the "never a mixture" from the beginning?
If all you cared about was prevent an IOMMU group from containing
devices with a mixture of kernel drivers and userspace drivers, I
assume you could do that without iommu_device_use_dma_api(). So is
this a way to*allow* a mixture under certain restricted conditions?
It is not about user/kernel, it is about arbitrating the shared
group->domain against multiple different requests to set it to
something else.

Lu, Given that the word 'user' was deleted from the API entirely it
makes sense to reword these commit messages to focus less on user vs
kernel and more on ownership of the domain pointer.

Sure. Will do it.

Best regards,
baolu