[PATCH v1 0/4] iommu: Isolate iova_cookie to actual owners

From: Nicolin Chen
Date: Wed Feb 26 2025 - 15:17:41 EST


Now, iommufd implements its own sw_msi function that does not touch the
domain->iova_cookie but domain->iommufd_hwpt, as a domain owner pointer.

Isolate the iova_cookie from iommufd by putting it into the union where
the iommufd_hwpt is located.

This requires a set of preparations to move iommu_put_dma_cookie() out
of the common path of iommu_domain_free() that iommufd still calls.

Make thing cleaner that any caller of iommu_get_dma/msi_cookie() should
explicitly call the pairing iommu_put_dma/msi_cookie().

This is a clean-up series for the sw_msi Part-1 core series, prior to
the Part-2/3 series. It's on github:
https://github.com/nicolinc/iommufd/commits/iommufd_msi_cleanup-v1

Thanks
Nicolin

Nicolin Chen (4):
iommu: Define iommu_get/put_msi_cookie() under CONFIG_IRQ_MSI_IOMMU
iommu: Add iommu_default_domain_free helper
iommu: Request iova_cookie owner to put cookie explicitly
iommu: Turn iova_cookie to dma-iommu private pointer

include/linux/iommu.h | 12 ++++++++----
drivers/iommu/dma-iommu.c | 12 ++++++++++++
drivers/iommu/iommu.c | 13 +++++++++----
drivers/vfio/vfio_iommu_type1.c | 4 ++++
4 files changed, 33 insertions(+), 8 deletions(-)


base-commit: 598749522d4254afb33b8a6c1bea614a95896868
--
2.43.0