]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iommufd: vfio compatibility extension check for noiommu mode
authorJacob Pan <jacob.pan@linux.microsoft.com>
Fri, 13 Feb 2026 18:36:36 +0000 (10:36 -0800)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 3 Mar 2026 00:29:01 +0000 (20:29 -0400)
VFIO_CHECK_EXTENSION should return false for TYPE1_IOMMU variants when
in NO-IOMMU mode and IOMMUFD compat container is set. This change makes
the behavior match VFIO_CONTAINER in noiommu mode. It also prevents
userspace from incorrectly attempting to use TYPE1 IOMMU operations
in a no-iommu context.

Fixes: d624d6652a65 ("iommufd: vfio container FD ioctl compatibility")
Link: https://patch.msgid.link/r/20260213183636.3340-1-jacob.pan@linux.microsoft.com
Signed-off-by: Jacob Pan <jacob.pan@linux.microsoft.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/iommufd/vfio_compat.c

index a258ee2f4579f523a816af298a565e4f819746f3..acb48cdd3b005a17656c55f236ef3448941576ef 100644 (file)
@@ -283,7 +283,7 @@ static int iommufd_vfio_check_extension(struct iommufd_ctx *ictx,
        case VFIO_TYPE1_IOMMU:
        case VFIO_TYPE1v2_IOMMU:
        case VFIO_UNMAP_ALL:
-               return 1;
+               return !ictx->no_iommu_mode;
 
        case VFIO_NOIOMMU_IOMMU:
                return IS_ENABLED(CONFIG_VFIO_NOIOMMU);