vhost-user: verify that number of queues is less than MAX_QUEUE_NUM

Fix QEMU crash when -netdev vhost-user,queues=n is passed with number
of queues greater than MAX_QUEUE_NUM.

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
Ilya Maximets 2016-02-24 13:44:34 +03:00 committed by Michael S. Tsirkin
parent a0d06486b4
commit fff4e48ed5

View File

@ -317,9 +317,10 @@ int net_init_vhost_user(const NetClientOptions *opts, const char *name,
}
queues = vhost_user_opts->has_queues ? vhost_user_opts->queues : 1;
if (queues < 1) {
if (queues < 1 || queues > MAX_QUEUE_NUM) {
error_setg(errp,
"vhost-user number of queues must be bigger than zero");
"vhost-user number of queues must be in range [1, %d]",
MAX_QUEUE_NUM);
return -1;
}