mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 08:03:01 +09:00
vfio-iommufd: No need to record iommufd_ctx in vfio_device
iommufd_ctx is stored in vfio_device for emulated devices per bind_iommufd. However, as iommufd_access is created in bind, no more need to stored it since iommufd_access implicitly stores it. Link: https://lore.kernel.org/r/20230327093351.44505-4-yi.l.liu@intel.com Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Tested-by: Terrence Xu <terrence.xu@intel.com> Tested-by: Nicolin Chen <nicolinc@nvidia.com> Signed-off-by: Yi Liu <yi.l.liu@intel.com> Acked-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
@@ -142,14 +142,10 @@ int vfio_iommufd_emulated_bind(struct vfio_device *vdev,
|
||||
|
||||
lockdep_assert_held(&vdev->dev_set->lock);
|
||||
|
||||
iommufd_ctx_get(ictx);
|
||||
user = iommufd_access_create(ictx, &vfio_user_ops, vdev);
|
||||
if (IS_ERR(user)) {
|
||||
iommufd_ctx_put(ictx);
|
||||
if (IS_ERR(user))
|
||||
return PTR_ERR(user);
|
||||
}
|
||||
vdev->iommufd_access = user;
|
||||
vdev->iommufd_ictx = ictx;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vfio_iommufd_emulated_bind);
|
||||
@@ -163,8 +159,6 @@ void vfio_iommufd_emulated_unbind(struct vfio_device *vdev)
|
||||
vdev->iommufd_attached = false;
|
||||
vdev->iommufd_access = NULL;
|
||||
}
|
||||
iommufd_ctx_put(vdev->iommufd_ictx);
|
||||
vdev->iommufd_ictx = NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vfio_iommufd_emulated_unbind);
|
||||
|
||||
|
||||
@@ -60,7 +60,6 @@ struct vfio_device {
|
||||
void (*put_kvm)(struct kvm *kvm);
|
||||
#if IS_ENABLED(CONFIG_IOMMUFD)
|
||||
struct iommufd_device *iommufd_device;
|
||||
struct iommufd_ctx *iommufd_ictx;
|
||||
bool iommufd_attached;
|
||||
#endif
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user