[PATCH v3 0/5] iommufd: Destroy vdevice on device unbind

Xu Yilun posted 5 patches 3 months, 1 week ago
There is a newer version of this series
drivers/iommu/iommufd/device.c          |  42 +++
drivers/iommu/iommufd/driver.c          |   4 +-
drivers/iommu/iommufd/iommufd_private.h |  35 ++-
drivers/iommu/iommufd/main.c            |  20 +-
drivers/iommu/iommufd/viommu.c          |  47 ++-
tools/testing/selftests/iommu/iommufd.c | 388 ++++++++++++------------
6 files changed, 337 insertions(+), 199 deletions(-)
[PATCH v3 0/5] iommufd: Destroy vdevice on device unbind
Posted by Xu Yilun 3 months, 1 week ago
It is to solve the lifecycle issue that vdevice may outlive idevice. It
is a prerequisite for TIO, to ensure extra secure configurations (e.g.
TSM Bind/Unbind) against vdevice could be rolled back on idevice unbind,
so that VFIO could still work on the physical device without surprise.

Changelog:
v3:
 - No bother clean each tombstone in iommufd_fops_release().
 - Drop vdev->ictx initialization fix patch.
 - Optimize control flow in iommufd_device_remove_vdev().
 - Make iommufd_vdevice_abort() reentrant.
 - Call iommufd_vdevice_abort() directly instead of waiting for it.
 - Rephrase/fix some comments.
 - A new patch to remove vdev->dev.
 - A new patch to explicitly skip existing viommu tests for no_iommu.
 - Also skip vdevice tombstone test for no_iommu.
 - Allow me to add SoB from Aneesh.

v2: https://lore.kernel.org/linux-iommu/20250623094946.1714996-1-yilun.xu@linux.intel.com/

v1/rfc: https://lore.kernel.org/linux-iommu/20250610065146.1321816-1-aneesh.kumar@kernel.org/

The series is based on v6.16-rc1

Xu Yilun (5):
  iommufd: Add iommufd_object_tombstone_user() helper
  iommufd: Destroy vdevice on idevice destroy
  iommufd/vdevice: Remove struct device reference from struct vdevice
  iommufd/selftest: Explicitly skip tests for inapplicable variant
  iommufd/selftest: Add coverage for vdevice tombstone

 drivers/iommu/iommufd/device.c          |  42 +++
 drivers/iommu/iommufd/driver.c          |   4 +-
 drivers/iommu/iommufd/iommufd_private.h |  35 ++-
 drivers/iommu/iommufd/main.c            |  20 +-
 drivers/iommu/iommufd/viommu.c          |  47 ++-
 tools/testing/selftests/iommu/iommufd.c | 388 ++++++++++++------------
 6 files changed, 337 insertions(+), 199 deletions(-)


base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
-- 
2.25.1