44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
|
|
From 19d56f560879081de411f359417eaaa2998c9e3a Mon Sep 17 00:00:00 2001
|
||
|
|
From: Raphael Norwitz <raphael.norwitz@nutanix.com>
|
||
|
|
Date: Tue, 11 Jun 2019 17:35:17 -0700
|
||
|
|
Subject: [PATCH 5/5] vhost-user-scsi: prevent using uninitialized vqs
|
||
|
|
|
||
|
|
Of the 3 virtqueues, seabios only sets cmd, leaving ctrl
|
||
|
|
and event without a physical address. This can cause
|
||
|
|
vhost_verify_ring_part_mapping to return ENOMEM, causing
|
||
|
|
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
|
||
|
|
|
||
|
|
The qemu commit e6cc11d64fc998c11a4dfcde8fda3fc33a74d844
|
||
|
|
has already resolved the issue for vhost scsi devices but
|
||
|
|
the fix was never applied to vhost-user scsi devices.
|
||
|
|
|
||
|
|
Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
|
||
|
|
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||
|
|
Message-id: 1560299717-177734-1-git-send-email-raphael.norwitz@nutanix.com
|
||
|
|
Message-Id: <1560299717-177734-1-git-send-email-raphael.norwitz@nutanix.com>
|
||
|
|
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|
||
|
|
(cherry-picked from commit 5d4c1ed3d46d7e2010b389fe5f3376f605182ab0)
|
||
|
|
---
|
||
|
|
hw/scsi/vhost-user-scsi.c | 2 +-
|
||
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c
|
||
|
|
index 8b1e687..241631f 100644
|
||
|
|
--- a/hw/scsi/vhost-user-scsi.c
|
||
|
|
+++ b/hw/scsi/vhost-user-scsi.c
|
||
|
|
@@ -90,7 +90,7 @@ static void vhost_user_scsi_realize(DeviceState *dev, Error **errp)
|
||
|
|
}
|
||
|
|
|
||
|
|
vsc->dev.nvqs = 2 + 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;
|
||
|
|
|
||
|
|
--
|
||
|
|
1.8.3.1
|
||
|
|
|