From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=37508 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q5hIC-0006Ry-2s for qemu-devel@nongnu.org; Fri, 01 Apr 2011 12:33:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q5hGK-0002gr-Q6 for qemu-devel@nongnu.org; Fri, 01 Apr 2011 12:31:53 -0400 Received: from msa104.auone-net.jp ([61.117.18.164]:52737) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q5hGK-0002dz-G3 for qemu-devel@nongnu.org; Fri, 01 Apr 2011 12:31:52 -0400 Received: from ppp.dion.ne.jp (ZR168219.ppp.dion.ne.jp [222.14.168.219]) by msa104.auone-net.jp (au one net msa) with ESMTP id 0C24515C039 for ; Sat, 2 Apr 2011 01:31:40 +0900 (JST) Date: Sat, 2 Apr 2011 01:31:40 +0900 From: Kusanagi Kouichi MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Message-Id: <20110401163141.0C24515C039@msa104.auone-net.jp> Subject: [Qemu-devel] [PATCH] virtio-9p: Return ENOSYS for unhandled requests. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Linux 2.6.39-rc1 guest causes qemu to abort when it sync or umount a rw 9p mount. Signed-off-by: Kusanagi Kouichi --- hw/virtio-9p.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/virtio-9p.c b/hw/virtio-9p.c index 7c59988..03cd957 100644 --- a/hw/virtio-9p.c +++ b/hw/virtio-9p.c @@ -3597,9 +3597,11 @@ static void submit_pdu(V9fsState *s, V9fsPDU *pdu) BUG_ON(pdu->id >= ARRAY_SIZE(pdu_handlers)); handler = pdu_handlers[pdu->id]; - BUG_ON(handler == NULL); - - handler(s, pdu); + if (handler == NULL) { + complete_pdu(s, pdu, ENOSYS); + } else { + handler(s, pdu); + } } static void handle_9p_output(VirtIODevice *vdev, VirtQueue *vq) -- 1.7.4.1