> From: Liu, Yi L <yi.l.liu@xxxxxxxxx> > Sent: Wednesday, April 26, 2023 10:54 PM > @@ -121,7 +128,8 @@ static void vfio_emulated_unmap(void *data, > unsigned long iova, > { > struct vfio_device *vdev = data; > > - if (vdev->ops->dma_unmap) > + /* noiommu devices cannot do map/unmap */ > + if (vdev->noiommu && vdev->ops->dma_unmap) > vdev->ops->dma_unmap(vdev, iova, length); Is it necessary? All mdev devices implementing @dma_unmap won't set noiommu flag. Instead in the future if we allow noiommu userspace to pin pages we'd need similar logic too.