From: Avi Kivity <a...@redhat.com> The scsi passthrough handler falls through after completing a request into the failure path, resulting in a use after free.
Reproducible by running a guest with aio=native on a block device. Reported-by: Stefan Priebe <s.pri...@profihost.ag> Signed-off-by: Avi Kivity <a...@redhat.com> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> --- hw/virtio-blk.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c index f21757e..552b3b6 100644 --- a/hw/virtio-blk.c +++ b/hw/virtio-blk.c @@ -254,6 +254,7 @@ static void virtio_blk_handle_scsi(VirtIOBlockReq *req) virtio_blk_req_complete(req, status); g_free(req); + return; #else abort(); #endif -- 1.7.6.5