vhost: check queue state in the vhost_dev_set_log routine
commit1e5a050f57984134c1d488238db3bc7ccaa36e52
authorDima Stepanov <dimastep@yandex-team.ru>
Fri, 11 Sep 2020 08:39:44 +0000 (11 11:39 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 29 Sep 2020 06:14:29 +0000 (29 02:14 -0400)
tree71cf51d49e28387605d24a1f161410b7ed9b5d64
parentf5b22d06fb0526c9292568dd1fc13b9d1a8b003e
vhost: check queue state in the vhost_dev_set_log routine

If the vhost-user-blk daemon provides only one virtqueue, but device was
added with several queues, then QEMU will send more VHOST-USER command
than expected by daemon side. The vhost_virtqueue_start() routine
handles such case by checking the return value from the
virtio_queue_get_desc_addr() function call. Add the same check to the
vhost_dev_set_log() routine.

Signed-off-by: Dima Stepanov <dimastep@yandex-team.ru>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Message-Id: <6232946d5af09e9775076645909964a6539b8ab5.1599813294.git.dimastep@yandex-team.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/vhost.c