From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42326) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVZqE-0000Oq-BI for qemu-devel@nongnu.org; Wed, 11 Mar 2015 02:10:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YVZq4-0001pm-H6 for qemu-devel@nongnu.org; Wed, 11 Mar 2015 02:10:02 -0400 Received: from ozlabs.org ([103.22.144.67]:44281) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVZq4-0001ox-6c for qemu-devel@nongnu.org; Wed, 11 Mar 2015 02:09:52 -0400 From: Rusty Russell Date: Wed, 11 Mar 2015 16:29:30 +1030 Message-Id: <1426053572-21326-1-git-send-email-rusty@rustcorp.com.au> Subject: [Qemu-devel] [PATCH 0/2] virtio len fixes for qemu. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developers , "Michael S. Tsirkin" Cc: Rusty Russell 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. Rusty Russell (2): virtio: make it clear that "len" for a used descriptor is len written. virtio-blk: fix length calculations for write operations. hw/block/virtio-blk.c | 9 ++++++++- hw/virtio/virtio.c | 19 ++++++++++++------- include/hw/virtio/virtio.h | 4 ++-- 3 files changed, 22 insertions(+), 10 deletions(-) -- 2.1.0