vfio/spapr_tce: reject mediated devices
authorChristoph Hellwig <hch@lst.de>
Fri, 24 Sep 2021 15:57:02 +0000 (17:57 +0200)
committerAlex Williamson <alex.williamson@redhat.com>
Thu, 30 Sep 2021 18:46:44 +0000 (12:46 -0600)
Unlike the the type1 IOMMU backend, the SPAPR one does not contain any
support for the magic non-IOMMU backed iommu_group used by mediated
devices, so reject them in ->attach_group.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20210924155705.4258-13-hch@lst.de
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/vfio_iommu_spapr_tce.c

index 936a26b..708a95e 100644 (file)
@@ -1246,6 +1246,9 @@ static int tce_iommu_attach_group(void *iommu_data,
        struct iommu_table_group *table_group;
        struct tce_iommu_group *tcegrp = NULL;
 
+       if (type == VFIO_EMULATED_IOMMU)
+               return -EINVAL;
+
        mutex_lock(&container->lock);
 
        /* pr_debug("tce_vfio: Attaching group #%u to iommu %p\n",