Re: [PATCH 5/6] vringh: fix copy direction of vringh_iov_push_kern()

From: Alex Williamson
Date: Tue Sep 24 2019 - 10:04:24 EST


On Mon, 23 Sep 2019 12:00:41 -0400
"Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:

> On Mon, Sep 23, 2019 at 09:45:59AM -0600, Alex Williamson wrote:
> > On Mon, 23 Sep 2019 21:03:30 +0800
> > Jason Wang <jasowang@xxxxxxxxxx> wrote:
> >
> > > We want to copy from iov to buf, so the direction was wrong.
> > >
> > > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
> > > ---
> > > drivers/vhost/vringh.c | 8 +++++++-
> > > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
> >
> > Why is this included in the series? Seems like an unrelated fix being
> > held up within a proposal for a new feature. Thanks,
> >
> > Alex
>
> It's better to have it as patch 1/6, but it's a dependency of the
> example driver in the series. I can reorder when I apply.

It's a fix, please submit it separately through virtio/vhost channels,
then it will already be in the base kernel we use for the rest of the
series. The remainder of the series certainly suggests a workflow
through the vfio tree rather than virtio/vhost. Thanks,

Alex

> > > diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c
> > > index 08ad0d1f0476..a0a2d74967ef 100644
> > > --- a/drivers/vhost/vringh.c
> > > +++ b/drivers/vhost/vringh.c
> > > @@ -852,6 +852,12 @@ static inline int xfer_kern(void *src, void *dst, size_t len)
> > > return 0;
> > > }
> > >
> > > +static inline int kern_xfer(void *dst, void *src, size_t len)
> > > +{
> > > + memcpy(dst, src, len);
> > > + return 0;
> > > +}
> > > +
> > > /**
> > > * vringh_init_kern - initialize a vringh for a kernelspace vring.
> > > * @vrh: the vringh to initialize.
> > > @@ -958,7 +964,7 @@ EXPORT_SYMBOL(vringh_iov_pull_kern);
> > > ssize_t vringh_iov_push_kern(struct vringh_kiov *wiov,
> > > const void *src, size_t len)
> > > {
> > > - return vringh_iov_xfer(wiov, (void *)src, len, xfer_kern);
> > > + return vringh_iov_xfer(wiov, (void *)src, len, kern_xfer);
> > > }
> > > EXPORT_SYMBOL(vringh_iov_push_kern);
> > >