vdpa: validate MQ CVQ commands

So we are sure we can update the device model properly before sending to
the device.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
Eugenio Pérez 2022-09-06 17:07:17 +02:00 committed by Jason Wang
parent f64c7cda69
commit 275ba561cd

View File

@ -486,6 +486,15 @@ static bool vhost_vdpa_net_cvq_validate_cmd(const void *out_buf, size_t len)
__func__, ctrl.cmd);
};
break;
case VIRTIO_NET_CTRL_MQ:
switch (ctrl.cmd) {
case VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET:
return true;
default:
qemu_log_mask(LOG_GUEST_ERROR, "%s: invalid mq cmd %u\n",
__func__, ctrl.cmd);
};
break;
default:
qemu_log_mask(LOG_GUEST_ERROR, "%s: invalid control class %u\n",
__func__, ctrl.class);