All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: Fam Zheng <famz@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 0/2] virtio len fixes for qemu.
Date: Wed, 11 Mar 2015 13:39:05 +0100	[thread overview]
Message-ID: <20150311133242-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <87pp8fyddj.fsf@rustcorp.com.au>

On Wed, Mar 11, 2015 at 10:06:40PM +1030, Rusty Russell wrote:
> "Michael S. Tsirkin" <mst@redhat.com> writes:
> > On Wed, Mar 11, 2015 at 02:47:47PM +0800, Fam Zheng wrote:
> >> On Wed, 03/11 07:19, Michael S. Tsirkin wrote:
> >> > On Wed, Mar 11, 2015 at 04:29:30PM +1030, Rusty Russell wrote:
> >> > > The virtio 'used' ring describes descriptors which have been used.  It
> >> > > also says how many bytes have been written to the ring.  For some cases,
> >> > > this value is ignored by Linux guests, thus errors have not been noticed.
> >> > > I was working on increasing the checking in Linux when I noticed this
> >> > > behaviour.
> >> > > 
> >> > > The first patch changes the 'len' formal parameter name to 'len_written' to
> >> > > make the API clearer, and adds an assert(). The second fixes block writes.
> >> > > 
> >> > > Cheers,
> >> > > Rusty.
> >> > > PS.  It's based on MST's virtio-1.0 tree, but should be easily ported.
> >> > 
> >> > Thanks, this applies to current master without issues.
> >> > However, I think  it's best to apply patch 2, then patch 1,
> >> > to avoid triggering errors when bisecting.
> >> 
> >> I'm seeing a make check failure. If this is a false alarm, the test should be
> >> fixed too.
> >
> > Yea, I'm also now thinking we need a spec clarification on this one, and
> > some testing with non linux drivers before jumping to changing hosts and
> > guests.
> 
> The spec is very clear.  The implementation is crap; let's fix it before
> 1.0.
> 
> Quote:
> 
>         Each entry in the ring is a pair: \field{id} indicates the head
>         entry of the descriptor chain describing the buffer (this
>         matches an entry placed in the available ring by the guest
>         earlier), and \field{len} the total of bytes written into the
>         buffer. The latter is extremely useful for drivers using
>         untrusted buffers: if you do not know exactly how much has been
>         written by the device, you usually have to zero the buffer to
>         ensure no data leakage occurs.

Right so what does this "if you do not know exactly how much has been
written by the device" mean?

> I have a patch for the Linux side, too, which warns once per device
> and fixes it up.  I will make the warning conditional on v1.0.
> 
> Cheers,
> Rusty.

  reply	other threads:[~2015-03-11 12:39 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-11  5:59 [Qemu-devel] [PATCH 0/2] virtio len fixes for qemu Rusty Russell
2015-03-11  5:59 ` [Qemu-devel] [PATCH 1/2] virtio: make it clear that "len" for a used descriptor is len written Rusty Russell
2015-03-11  5:59 ` [Qemu-devel] [PATCH 2/2] virtio-blk: fix length calculations for write operations Rusty Russell
2015-03-11  6:48   ` Michael S. Tsirkin
2015-03-11 11:34     ` Rusty Russell
2015-03-11  6:19 ` [Qemu-devel] [PATCH 0/2] virtio len fixes for qemu Michael S. Tsirkin
2015-03-11  6:47   ` Fam Zheng
2015-03-11  6:50     ` Michael S. Tsirkin
2015-03-11 11:36       ` Rusty Russell
2015-03-11 12:39         ` Michael S. Tsirkin [this message]
2015-03-12  1:04           ` Rusty Russell
2015-03-12  6:35             ` Michael S. Tsirkin
2015-03-13  1:17               ` Rusty Russell
2015-03-13 13:49                 ` Michael S. Tsirkin
2015-03-16  3:14                   ` Rusty Russell
2015-03-16  5:03                     ` Michael S. Tsirkin
2015-03-16 15:37                       ` Cornelia Huck
2015-03-20  0:59                       ` Rusty Russell
2015-03-18 12:32 ` Michael S. Tsirkin

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=20150311133242-mutt-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=famz@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rusty@rustcorp.com.au \
    --cc=stefanha@redhat.com \
    /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.