From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60498) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2k9O-00081b-UZ for qemu-devel@nongnu.org; Fri, 26 Jul 2013 11:41:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V2k9L-0007Vs-Ui for qemu-devel@nongnu.org; Fri, 26 Jul 2013 11:41:50 -0400 Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.d.1.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:1d0::1]:58971 helo=mnementh.archaic.org.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2k9L-0007UV-P1 for qemu-devel@nongnu.org; Fri, 26 Jul 2013 11:41:47 -0400 From: Peter Maydell Date: Fri, 26 Jul 2013 16:41:26 +0100 Message-Id: <1374853288-9912-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH v2 for-1.6 0/2] virtio-mmio: fixes to QueueNum, QueueNumMax List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: KONRAD Frederic , Anthony Liguori , "Michael S. Tsirkin" , kvmarm@lists.cs.columbia.edu, patches@linaro.org These patches fix a couple of bugs in virtio-mmio's handling of the registers that deal with the queue size: * as mst points out, letting the guest flip a queue between "exists" and "doesn't exist" is a bad idea * QueueNumMax wasn't reading the correct value for nonexistent queues This doesn't include any change to the behaviour of queuesize on reset (discussed in other thread); the current behaviour is not a problem for well-behaved guests, and safe in the face of badly-behaved guests, and currently improving the reset behaviour is blocked by an unrelated bug. v1->v2: changes as per mst review: * avoid explicit "== 0" comparisons * avoid unnecessary parens round comparison ops * do the "don't flip between existent and nonexistent" check with "!!num != !!oldnum" (and add a comment noting why we're doing this check) Peter Maydell (2): hw/virtio/virtio: Don't allow guests to add/remove queues hw/virtio/virtio-mmio: Make QueueNumMax read 0 for unavailable queues hw/virtio/virtio-mmio.c | 3 +++ hw/virtio/virtio.c | 12 +++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) -- 1.7.9.5