From: yuchenlin <yuchenlin@synology.com>
To: yuchenlin@synology.com
Cc: qemu-devel@nongnu.org, mst@redhat.com,
Forrest Liu <forrestl@synology.com>
Subject: Re: [Qemu-devel] [PATCH] vhost-scsi: prevent using uninitialized vqs
Date: Mon, 22 Oct 2018 10:17:59 +0800 [thread overview]
Message-ID: <d8051b2fc349d58dcd98cd383ae6bf32@synology.com> (raw)
In-Reply-To: <20181012090752.31891-1-yuchenlin@synology.com>
Ping?
On 2018-10-12 17:07, yuchenlin@synology.com wrote:
> From: yuchenlin <yuchenlin@synology.com>
>
> There are 3 virtqueues (ctrl, event and cmd) for virtio scsi device,
> but seabios will only set the physical address for the 3rd one (cmd).
> Then in vhost_virtqueue_start(), virtio_queue_get_desc_addr()
> will be 0 for ctrl and event vq.
>
> In this case, ctrl and event vq are not initialized.
> vhost_verify_ring_mappings may use uninitialized vhost_virtqueue
> such that vhost_verify_ring_part_mapping returns ENOMEM.
>
> When encountered this problem, we got the following logs:
>
> qemu-system-x86_64: Unable to map available ring for ring 0
> qemu-system-x86_64: Verify ring failure on region 0
>
> Signed-off-by: Forrest Liu <forrestl@synology.com>
> Signed-off-by: yuchenlin <yuchenlin@synology.com>
> ---
> hw/scsi/vhost-scsi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c
> index becf550085..7f21b4f9d6 100644
> --- a/hw/scsi/vhost-scsi.c
> +++ b/hw/scsi/vhost-scsi.c
> @@ -183,7 +183,7 @@ static void vhost_scsi_realize(DeviceState *dev,
> Error **errp)
> }
>
> vsc->dev.nvqs = VHOST_SCSI_VQ_NUM_FIXED + vs->conf.num_queues;
> - vsc->dev.vqs = g_new(struct vhost_virtqueue, vsc->dev.nvqs);
> + vsc->dev.vqs = g_new0(struct vhost_virtqueue, vsc->dev.nvqs);
> vsc->dev.vq_index = 0;
> vsc->dev.backend_features = 0;
next prev parent reply other threads:[~2018-10-22 2:18 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-12 9:07 [Qemu-devel] [PATCH] vhost-scsi: prevent using uninitialized vqs yuchenlin
2018-10-22 2:17 ` yuchenlin [this message]
2018-10-22 23:49 ` Philippe Mathieu-Daudé
2018-10-23 12:56 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d8051b2fc349d58dcd98cd383ae6bf32@synology.com \
--to=yuchenlin@synology.com \
--cc=forrestl@synology.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.