[PATCH] iommufd: vfio compatibility extension check for noiommu mode

Jacob Pan posted 1 patch 1 month, 2 weeks ago
drivers/iommu/iommufd/vfio_compat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] iommufd: vfio compatibility extension check for noiommu mode
Posted by Jacob Pan 1 month, 2 weeks ago
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")
Signed-off-by: Jacob Pan <jacob.pan@linux.microsoft.com>
---
 drivers/iommu/iommufd/vfio_compat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/iommufd/vfio_compat.c b/drivers/iommu/iommufd/vfio_compat.c
index a258ee2f4579..acb48cdd3b00 100644
--- a/drivers/iommu/iommufd/vfio_compat.c
+++ b/drivers/iommu/iommufd/vfio_compat.c
@@ -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);
-- 
2.43.0
Re: [PATCH] iommufd: vfio compatibility extension check for noiommu mode
Posted by Jason Gunthorpe 1 month ago
On Fri, Feb 13, 2026 at 10:36:36AM -0800, Jacob Pan wrote:
> 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")
> Signed-off-by: Jacob Pan <jacob.pan@linux.microsoft.com>
> ---
>  drivers/iommu/iommufd/vfio_compat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

Jason