cryptodev/vhost: allocate CryptoDevBackendVhost using g_mem0()
The function `vhost_dev_init()` expects the `struct vhost_dev` (passed as a parameter) to be fully initialized. This is important because some parts of the code check whether `vhost_dev->config_ops` is NULL to determine if it has been set (e.g. later via `vhost_dev_set_config_notifier`). To ensure this initialization, it’s better to allocate the entire `CryptoDevBackendVhost` structure (which includes `vhost_dev`) using `g_mem0()`, following the same approach used for other vhost devices, such as in `vhost_net_init()`. Fixes: 042cea274c ("cryptodev: add vhost-user as a new cryptodev backend") Cc: qemu-stable@nongnu.org Reported-by: myluo24@m.fudan.edu.cn Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> Message-Id: <20250211135523.101203-1-sgarzare@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
332859dd59
commit
83cb18ac45
@ -53,7 +53,7 @@ cryptodev_vhost_init(
|
|||||||
CryptoDevBackendVhost *crypto;
|
CryptoDevBackendVhost *crypto;
|
||||||
Error *local_err = NULL;
|
Error *local_err = NULL;
|
||||||
|
|
||||||
crypto = g_new(CryptoDevBackendVhost, 1);
|
crypto = g_new0(CryptoDevBackendVhost, 1);
|
||||||
crypto->dev.max_queues = 1;
|
crypto->dev.max_queues = 1;
|
||||||
crypto->dev.nvqs = 1;
|
crypto->dev.nvqs = 1;
|
||||||
crypto->dev.vqs = crypto->vqs;
|
crypto->dev.vqs = crypto->vqs;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user