> From: Alex Williamson <alex.williamson@xxxxxxxxxx> > Sent: Tuesday, February 21, 2023 12:39 PM > > On Mon, 20 Feb 2023 19:41:14 -0800 > Yi Liu <yi.l.liu@xxxxxxxxx> wrote: > > > as some vfio_device's open_device op requires kvm pointer and kvm > pointer > > set is part of GROUP_ADD. > > > > Signed-off-by: Yi Liu <yi.l.liu@xxxxxxxxx> > > --- > > Documentation/virt/kvm/devices/vfio.rst | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/Documentation/virt/kvm/devices/vfio.rst > b/Documentation/virt/kvm/devices/vfio.rst > > index 2d20dc561069..5722e283f1b5 100644 > > --- a/Documentation/virt/kvm/devices/vfio.rst > > +++ b/Documentation/virt/kvm/devices/vfio.rst > > @@ -39,3 +39,8 @@ KVM_DEV_VFIO_GROUP attributes: > > - @groupfd is a file descriptor for a VFIO group; > > - @tablefd is a file descriptor for a TCE table allocated via > > KVM_CREATE_SPAPR_TCE. > > + > > +:: > > + > > +The GROUP_ADD operation above should be invoked before > vfio_device's > > +open_device op which is called in the ioctl > VFIO_GROUP_GET_DEVICE_FD. > > Why only include the reasoning in the commit log and not the docs? Oops, sure. How about below? KVM_DEV_VFIO_GROUP_ADD has a duty to set the kvm pointer to VFIO as some vfio_devices require kvm pointer to open_device. Like gvt-g, vfio-ap and etc. Meanwhile, open_device is part of VFIO_GROUP_GET_DEVICE_FD. Hence user should invoke KVM_DEV_VFIO_GROUP_ADD before VFIO_GROUP_GET_DEVICE_FD. Regards, Yi Liu