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
prev parent 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.