[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220629052130-mutt-send-email-mst@kernel.org>
Date: Wed, 29 Jun 2022 05:22:47 -0400
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Yongji Xie <xieyongji@...edance.com>
Cc: Jason Wang <jasowang@...hat.com>,
Liu Xiaodong <xiaodong.liu@...el.com>,
Maxime Coquelin <maxime.coquelin@...hat.com>,
Stefan Hajnoczi <stefanha@...hat.com>,
virtualization <virtualization@...ts.linux-foundation.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 6/6] vduse: Update api version to 1
On Wed, Jun 29, 2022 at 05:02:40PM +0800, Yongji Xie wrote:
> On Wed, Jun 29, 2022 at 4:33 PM Michael S. Tsirkin <mst@...hat.com> 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@...edance.com>
> >
> >
> > 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?
Why bother? unsupported ioctls just return an error code.
> > 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
--
MST
Powered by blists - more mailing lists