Re: [PATCH 12/14] iommufd: Add APIs to preserve/unpreserve a vfio cdev
From: Samiullah Khawaja
Date: Mon Mar 23 2026 - 17:41:06 EST
On Mon, Mar 23, 2026 at 01:59:13PM -0700, Vipin Sharma wrote:
On Tue, Feb 03, 2026 at 10:09:46PM +0000, Samiullah Khawaja wrote:
diff --git a/drivers/iommu/iommufd/device.c b/drivers/iommu/iommufd/device.c
+#ifdef CONFIG_IOMMU_LIVEUPDATE
+int iommufd_device_preserve(struct liveupdate_session *s,
+ struct iommufd_device *idev,
+ u64 *tokenp)
+{
+ struct iommufd_group *igroup = idev->igroup;
+ struct iommufd_hwpt_paging *hwpt_paging;
+ struct iommufd_hw_pagetable *hwpt;
+ struct iommufd_attach *attach;
+ int ret;
+
+ mutex_lock(&igroup->lock);
+ attach = xa_load(&igroup->pasid_attach, IOMMU_NO_PASID);
+ if (!attach) {
+ ret = -ENOENT;
+ goto out;
+ }
Should VFIO in its can_preserve() add this check?
Good Point. We can move this check over there.
+void iommufd_device_unpreserve(struct liveupdate_session *s,
+ struct iommufd_device *idev,
+ u64 token)
Where is token used in this function?
Will remove.