From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NzTjg-0005IA-VU for qemu-devel@nongnu.org; Wed, 07 Apr 2010 07:47:56 -0400 Received: from [140.186.70.92] (port=35501 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NzTjf-0005Hi-4F for qemu-devel@nongnu.org; Wed, 07 Apr 2010 07:47:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NzTjd-00066C-Fh for qemu-devel@nongnu.org; Wed, 07 Apr 2010 07:47:54 -0400 Received: from thoth.sbs.de ([192.35.17.2]:24321) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NzTjc-00065X-OC for qemu-devel@nongnu.org; Wed, 07 Apr 2010 07:47:53 -0400 Message-ID: <4BBC70E3.6010609@siemens.com> Date: Wed, 07 Apr 2010 13:47:47 +0200 From: Jan Kiszka MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH] virtio-blk: Fix use after release in virtio_blk_handle_rw_error List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel , Luiz Capitulino virtio_blk_req_complete releases the request we dereference again for bdrv_mon_event. Reorder both calls to fix this. Signed-off-by: Jan Kiszka --- hw/virtio-blk.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c index 9915840..d5e8c79 100644 --- a/hw/virtio-blk.c +++ b/hw/virtio-blk.c @@ -76,8 +76,8 @@ static int virtio_blk_handle_rw_error(VirtIOBlockReq *req, int error, bdrv_mon_event(req->dev->bs, BDRV_ACTION_STOP, is_read); vm_stop(0); } else { - virtio_blk_req_complete(req, VIRTIO_BLK_S_IOERR); bdrv_mon_event(req->dev->bs, BDRV_ACTION_REPORT, is_read); + virtio_blk_req_complete(req, VIRTIO_BLK_S_IOERR); } return 1;