]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
vfio: Fix unbalanced vfio_df_close call in no-iommu mode
authorJacob Pan <jacob.pan@linux.microsoft.com>
Wed, 18 Jun 2025 23:46:17 +0000 (16:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 10:08:59 +0000 (12:08 +0200)
commita6c5e25861e3267bec88e4ef1f3e7b985d363cac
tree89c0f7b4d2fc04d3af86639fcb3290db67dcb716
parentf289690f50a01c3e085d87853392d5b7436a4cee
vfio: Fix unbalanced vfio_df_close call in no-iommu mode

[ Upstream commit b25e271b377999191b12f0afbe1861edcf57e3fe ]

For devices with no-iommu enabled in IOMMUFD VFIO compat mode, the group open
path skips vfio_df_open(), leaving open_count at 0. This causes a warning in
vfio_assert_device_open(device) when vfio_df_close() is called during group
close.

The correct behavior is to skip only the IOMMUFD bind in the device open path
for no-iommu devices. Commit 6086efe73498 omitted vfio_df_open(), which was
too broad. This patch restores the previous behavior, ensuring
the vfio_df_open is called in the group open path.

Fixes: 6086efe73498 ("vfio-iommufd: Move noiommu compat validation out of vfio_iommufd_bind()")
Suggested-by: Alex Williamson <alex.williamson@redhat.com>
Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Jacob Pan <jacob.pan@linux.microsoft.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20250618234618.1910456-1-jacob.pan@linux.microsoft.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/vfio/group.c
drivers/vfio/iommufd.c