diff options
author | Raphael Norwitz | 2019-08-22 20:34:25 +0200 |
---|---|---|
committer | Michael S. Tsirkin | 2019-09-16 12:27:35 +0200 |
commit | b8487a357855e78957d8c9bddbbcf58548e1aa51 (patch) | |
tree | 3f2766084746913848098f68528eddba7f83091d /hw/i386/intel_iommu.c | |
parent | vhost-user-blk: prevent using uninitialized vqs (diff) | |
download | qemu-b8487a357855e78957d8c9bddbbcf58548e1aa51.tar.gz qemu-b8487a357855e78957d8c9bddbbcf58548e1aa51.tar.xz qemu-b8487a357855e78957d8c9bddbbcf58548e1aa51.zip |
backends/vhost-user.c: prevent using uninitialized vqs
Similar rational to: e6cc11d64fc998c11a4dfcde8fda3fc33a74d844
For vhost scsi and vhost-user-scsi an issue was observed
where, of the 3 virtqueues, seabios would only set cmd,
leaving ctrl and event without a physical address.
This can caused 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 issue has already been fixed elsewhere, but it was noted
that in backends/vhost-user.c, the vhost_user_backend_dev_init()
function, which other vdevs use in their realize() to initialize
their vqs, was not being properly zeroing out the queues. This
commit ensures hardware modules using the
vhost_user_backend_dev_init() API properly zero out their vqs on
initialization.
Suggested-by: Philippe Mathieu-Daude <philmd@redhat.com>
Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Message-Id: <1566498865-55506-2-git-send-email-raphael.norwitz@nutanix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'hw/i386/intel_iommu.c')
0 files changed, 0 insertions, 0 deletions