On Tue, Dec 06, 2022 at 01:55:53PM -0800, Steve Sistare wrote: > Implement VFIO_CHANGE_DMA_OWNER in the type1 iommu. > > Signed-off-by: Steve Sistare <steven.sistare@xxxxxxxxxx> > --- > drivers/vfio/vfio_iommu_type1.c | 119 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 119 insertions(+) > > diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c > index fbea2b5..55ba1e7 100644 > --- a/drivers/vfio/vfio_iommu_type1.c > +++ b/drivers/vfio/vfio_iommu_type1.c > @@ -1509,6 +1509,112 @@ static bool vfio_iommu_iova_dma_valid(struct vfio_iommu *iommu, > return list_empty(iova); > } > > +/* > + * Return true if mm1 vaddr1 maps the same memory object as mm2 vaddr2. > + * This does not prevent other tasks from concurrently modifying mappings > + * and invalidating this test, but that would be an application bug. > + */ And so the only reason to do this is to help 'self test' quemu that it isn't doing something wrong, because it obviously doesn't protect the kernel from security issues/etc. I probably would not bother, but if you do it then it should be an option to spend these cycles and debugged qemu can avoid it.. Jason