Re: [PATCH] vhost-vdpa: Set s.num in GET_VRING_GROUP

From: Eugenio Perez Martin

Date: Mon Sep 29 2025 - 02:05:39 EST


On Sat, Sep 27, 2025 at 2:32 PM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
>
> On Sat, Sep 27, 2025 at 03:25:34PM +0300, Dan Carpenter wrote:
> > The group is supposed to be copied to the user, but it wasn't assigned
> > until after the copy_to_user(). Move the "s.num = group;" earlier.
> >
> > Fixes: ffc3634b6696 ("vduse: add vq group support")
> > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> > ---
> > This goes through the kvm tree I think.
>
>
> Thanks for the patch!
>
> IIUC this was in my tree for next, but more testing
> and review found issues (like this one) so I dropped it for now.
>

Yes, that's fixed in v5.

> > drivers/vhost/vdpa.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> > index 6305382eacbb..25ab4d06e559 100644
> > --- a/drivers/vhost/vdpa.c
> > +++ b/drivers/vhost/vdpa.c
> > @@ -667,9 +667,9 @@ static long vhost_vdpa_vring_ioctl(struct vhost_vdpa *v, unsigned int cmd,
> > group = ops->get_vq_group(vdpa, idx);
> > if (group >= vdpa->ngroups || group > U32_MAX || group < 0)
> > return -EIO;
> > - else if (copy_to_user(argp, &s, sizeof(s)))
> > - return -EFAULT;
> > s.num = group;
> > + if (copy_to_user(argp, &s, sizeof(s)))
> > + return -EFAULT;
> > return 0;
> > }
> > case VHOST_VDPA_GET_VRING_DESC_GROUP:
> > --
> > 2.51.0
>