Re: [PATCH] vfio: Stop using iommu_present()

From: Alex Williamson
Date: Thu May 12 2022 - 14:21:41 EST


On Tue, 5 Apr 2022 13:11:54 +0100
Robin Murphy <robin.murphy@xxxxxxx> wrote:

> IOMMU groups have been mandatory for some time now, so a device without
> one is necessarily a device without any usable IOMMU, therefore the
> iommu_present() check is redundant (or at best unhelpful).
>
> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx>
> ---
> drivers/vfio/vfio.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
> index a4555014bd1e..7b0a7b85e77e 100644
> --- a/drivers/vfio/vfio.c
> +++ b/drivers/vfio/vfio.c
> @@ -745,11 +745,11 @@ static struct vfio_group *vfio_group_find_or_alloc(struct device *dev)
>
> iommu_group = iommu_group_get(dev);
> #ifdef CONFIG_VFIO_NOIOMMU
> - if (!iommu_group && noiommu && !iommu_present(dev->bus)) {
> + if (!iommu_group && noiommu) {
> /*
> * With noiommu enabled, create an IOMMU group for devices that
> - * don't already have one and don't have an iommu_ops on their
> - * bus. Taint the kernel because we're about to give a DMA
> + * don't already have one, implying no IOMMU hardware/driver
> + * exists. Taint the kernel because we're about to give a DMA
> * capable device to a user without IOMMU protection.
> */
> group = vfio_noiommu_group_alloc(dev, VFIO_NO_IOMMU);

Applied to vfio next branch for v5.19. Thanks,

Alex