RE: [PATCH v2 06/13] iommufd/viommu: Add iommufd_viommu_get_vdev_id helper

From: Tian, Kevin
Date: Wed Dec 11 2024 - 03:03:01 EST


> From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Sent: Wednesday, December 4, 2024 6:10 AM
>
> +/* Return 0 if device is not associated to the vIOMMU */
> +unsigned long iommufd_viommu_get_vdev_id(struct iommufd_viommu
> *viommu,
> + struct device *dev)
> +{
> + struct iommufd_vdevice *vdev;
> + unsigned long vdev_id = 0;
> + unsigned long index;
> +
> + xa_lock(&viommu->vdevs);
> + xa_for_each(&viommu->vdevs, index, vdev) {
> + if (vdev && vdev->dev == dev)

xa_for_each only find valid entries, so if (vdev) is redundant?

> + vdev_id = (unsigned long)vdev->id;

break out of the loop if hit.

> + }
> + xa_unlock(&viommu->vdevs);
> + return vdev_id;
> +}
> +EXPORT_SYMBOL_NS_GPL(iommufd_viommu_get_vdev_id, IOMMUFD);
> +
> MODULE_DESCRIPTION("iommufd code shared with builtin modules");
> MODULE_LICENSE("GPL");
> --
> 2.43.0