Re: [PATCH v2 10/10] vfio/pci: Add VFIO_DEVICE_GET_PCI_HOT_RESET_GROUP_INFO

Jason Gunthorpe
2023-03-30T22:46:06Z

On Thu, Mar 30, 2023 at 12:48:03PM +0000, Liu, Yi L wrote:
> + /*
> + * If dev_id is needed, fill in the dev_id field, otherwise
> + * fill in group_id.
> + */
> + if (fill->require_devid) {
> + /*
> + * Report the devices that are opened as cdev and have
> + * the same iommufd with the fill->iommufd. Otherwise,
> + * just fill in an IOMMUFD_INVALID_ID.
> + */
> + vdev = vfio_pci_find_device_in_devset(dev_set, pdev);
> + if (vdev && !vfio_device_cdev_opened(vdev) &&
> + fill->iommufd == vfio_iommufd_physical_ictx(vdev))
> + vfio_iommufd_physical_devid(vdev, &fill->devices[fill->cur].dev_id);
> + fill->devices[fill->cur].dev_id = IOMMUFD_INVALID_ID;

This needs an else?

I suggest to check for VFIO_PCI_HOT_RESET_FLAG_IOMMUFD_DEV_ID on input
as well. I know the old kernels don't enforce this but at least we
could start enforcing it going forward so that the group path would
reject it to catch userspace bugs.

May as well fix it up to fully validate the flags

Jason