Re: [PATCH 6/6] vduse: Update api version to 1

From: Yongji Xie
Date: Wed Jun 29 2022 - 05:02:57 EST


On Wed, Jun 29, 2022 at 4:33 PM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
>
> On Wed, Jun 29, 2022 at 04:25:41PM +0800, Xie Yongji wrote:
> > Let's update api version to 1 since we introduced
> > some new ioctls to support registering userspace
> > memory for IOTLB.
> >
> > Signed-off-by: Xie Yongji <xieyongji@xxxxxxxxxxxxx>
>
>
> Adding new ioctls does not justify things like this.
>

What I want to do here is make userspace know whether this feature is
supported or not in the kernel. So do you think we need to add
something like CHECK_EXTENSION ioctl here?

> Besides, adding UAPI then changing it is not nice
> since it makes git bisect behave incorrectly.
>
> > ---
> > drivers/vdpa/vdpa_user/vduse_dev.c | 12 ++++++++++++
> > include/uapi/linux/vduse.h | 8 +++++++-
> > 2 files changed, 19 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/vdpa/vdpa_user/vduse_dev.c b/drivers/vdpa/vdpa_user/vduse_dev.c
> > index 7b2ea7612da9..2795785ca6a2 100644
> > --- a/drivers/vdpa/vdpa_user/vduse_dev.c
> > +++ b/drivers/vdpa/vdpa_user/vduse_dev.c
> > @@ -1206,6 +1206,10 @@ static long vduse_dev_ioctl(struct file *file, unsigned int cmd,
> > case VDUSE_IOTLB_GET_INFO: {
> > struct vduse_iotlb_info iotlb;
> >
> > + ret = -EPERM;
>
>
> Almost for sure a wrong error code.
>
> > + if (dev->api_version < 1)
> > + break;
> > +
> > iotlb.bounce_iova = 0;
> > iotlb.bounce_size = dev->domain->bounce_size;
> >
>
>
> Wait a second. so you are intentionally breaking any userspace
> that called VDUSE_SET_API_VERSION with version 0?
>
> Please don't.
>

Yes, I'd like to let userspace know we don't support this feature.

Thanks.
Yongji