RE: [PATCH v6 16/24] vfio: Make vfio_device_first_open() to cover the noiommu mode in cdev path

Tian, Kevin
2023-03-10T08:30:29Z

> From: Liu, Yi L <yi.l.liu@intel.com>
> Sent: Wednesday, March 8, 2023 9:29 PM
>
> +/*
> + * This shall be used without group lock as group and group->container
> + * should be fixed before group is set to df->group.
> + */

/* No group lock since df->group and df->group->container cannot change */

> +bool vfio_device_group_uses_container(struct vfio_device_file *df)
> +{
> + /*
> + * Use the df->group instead of the df->device->group as no
> + * lock is acquired here.
> + */

remove

>
> + /*
> + * The handling here depends on what the user is using.
> + *
> + * If user uses iommufd in the group compat mode or the
> + * cdev path, call vfio_iommufd_bind().
> + *
> + * If user uses container in the group legacy mode, call
> + * vfio_device_group_use_iommu().

this is what code does.

> + *
> + * If user doesn't use iommufd nor container, this is
> + * the noiommufd mode in the cdev path, nothing needs
> + * to be done here just go ahead to open device.
> + */
> if (iommufd)
> ret = vfio_iommufd_bind(device, iommufd);
> - else
> + else if (vfio_device_group_uses_container(df))
> ret = vfio_device_group_use_iommu(device);

with earlier suggestion then iommufd=NULL always means
noiommu in this function.

Then the comment could be simple as:

/*
* if neither iommufd nor container is used the device is in
* noiommu mode then just go ahead to open it.
*/