[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Bug 1378554] [NEW] qemu segfault in virtio_scsi_handle
From: |
Richard W.M. Jones |
Subject: |
Re: [Qemu-devel] [Bug 1378554] [NEW] qemu segfault in virtio_scsi_handle_cmd_req_submit on ARM 32 bit |
Date: |
Wed, 8 Oct 2014 10:17:32 +0100 |
User-agent: |
Mutt/1.5.20 (2009-12-10) |
On Wed, Oct 08, 2014 at 01:18:04AM +0200, Paolo Bonzini wrote:
> Does this work:
>
> diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
> index 203e624..c6d4f2e 100644
> --- a/hw/scsi/virtio-scsi.c
> +++ b/hw/scsi/virtio-scsi.c
> @@ -545,11 +545,12 @@ bool virtio_scsi_handle_cmd_req_prepare(VirtIOSCSI *s,
> VirtIOSCSIReq *req)
>
> void virtio_scsi_handle_cmd_req_submit(VirtIOSCSI *s, VirtIOSCSIReq *req)
> {
> - if (scsi_req_enqueue(req->sreq)) {
> - scsi_req_continue(req->sreq);
> + SCSIRequest *sreq = req->sreq;
> + bdrv_io_unplug(sreq->dev->conf.bs);
> + if (scsi_req_enqueue(sreq)) {
> + scsi_req_continue(sreq);
> }
> - bdrv_io_unplug(req->sreq->dev->conf.bs);
> - scsi_req_unref(req->sreq);
> + scsi_req_unref(sreq);
> }
>
> static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq)
>
> ?
Yes, that fixes it.
Tested-by: Richard W.M. Jones <address@hidden>
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
[Prev in Thread] |
Current Thread |
[Next in Thread] |