All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@gmail.com>
Cc: qemu-devel@nongnu.org, dgilbert@redhat.com
Subject: Re: [Qemu-devel] [PATCH] vhost-user-bridge: fix iov_restore_front() warning
Date: Thu, 8 Jun 2017 03:32:39 +0300	[thread overview]
Message-ID: <20170608033222-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CAJ+F1C+fqVd2PDkaPCPS9ZsikZ841hT1wc7tNOj8=JnZOHFchg@mail.gmail.com>

On Wed, Jun 07, 2017 at 07:00:46PM +0000, Marc-André Lureau wrote:
> Hi, Michael, could you pick this patch?
> 
> thanks

OK. Pls cc me on patches you want me to review.

> On Fri, Jun 2, 2017 at 12:26 PM Marc-André Lureau <
> marcandre.lureau@redhat.com> wrote:
> 
> >   CC      tests/vhost-user-bridge.o
> > /home/dgilbert/git/qemu-world3/tests/vhost-user-bridge.c:228:23: warning:
> > variables 'front' and 'iov' used in loop condition not modified in loop
> > body [-Wfor-loop-analysis]
> >     for (cur = front; front != iov; cur++) {
> >                       ^~~~~    ~~~
> > 1 warning generated.
> >
> > Fix the loop, document the function, and fix some related assert().
> >
> > In practice, the loop bug was harmless because the front sg buffer is
> > enough to discard/restore the header size.
> >
> > Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> >  tests/vhost-user-bridge.c | 11 +++++++++--
> >  1 file changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/tests/vhost-user-bridge.c b/tests/vhost-user-bridge.c
> > index 8618c20d53..1e5b5ca3da 100644
> > --- a/tests/vhost-user-bridge.c
> > +++ b/tests/vhost-user-bridge.c
> > @@ -220,12 +220,18 @@ vubr_handle_tx(VuDev *dev, int qidx)
> >      free(elem);
> >  }
> >
> > +
> > +/* this function reverse the effect of iov_discard_front() it must be
> > + * called with 'front' being the original struct iovec and 'bytes'
> > + * being the number of bytes you shaved off
> > + */
> >  static void
> >  iov_restore_front(struct iovec *front, struct iovec *iov, size_t bytes)
> >  {
> >      struct iovec *cur;
> >
> > -    for (cur = front; front != iov; cur++) {
> > +    for (cur = front; cur != iov; cur++) {
> > +        assert(bytes >= cur->iov_len);
> >          bytes -= cur->iov_len;
> >      }
> >
> > @@ -302,7 +308,8 @@ vubr_backend_recv_cb(int sock, void *ctx)
> >              }
> >              iov_from_buf(sg, elem->in_num, 0, &hdr, sizeof hdr);
> >              total += hdrlen;
> > -            assert(iov_discard_front(&sg, &num, hdrlen) == hdrlen);
> > +            ret = iov_discard_front(&sg, &num, hdrlen);
> > +            assert(ret == hdrlen);
> >          }
> >
> >          struct msghdr msg = {
> > --
> > 2.13.0.91.g00982b8dd
> >
> >
> > --
> Marc-André Lureau

      reply	other threads:[~2017-06-08  0:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-02  8:15 [Qemu-devel] [PATCH] vhost-user-bridge: fix iov_restore_front() warning Marc-André Lureau
2017-06-02  8:35 ` Dr. David Alan Gilbert
2017-06-02 12:43 ` Jens Freimann
2017-06-07 19:00 ` Marc-André Lureau
2017-06-08  0:32   ` Michael S. Tsirkin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170608033222-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=marcandre.lureau@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.