On Wed, 24 Jun 2026 at 16:21, Radu Nicolau <[email protected]> wrote:
>
> Fix potential call with dev->mem uninitialized, one common usecase
> example being running the autotest with more than one device.
>
> Fixes: 3bb595ecd682 ("vhost/crypto: add request handler")
> Cc: [email protected]
>
> Signed-off-by: Radu Nicolau <[email protected]>
> ---
> lib/vhost/vhost_crypto.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/lib/vhost/vhost_crypto.c b/lib/vhost/vhost_crypto.c
> index 648e2d731b..3679eaca1e 100644
> --- a/lib/vhost/vhost_crypto.c
> +++ b/lib/vhost/vhost_crypto.c
> @@ -1512,6 +1512,10 @@ vhost_crypto_process_one_req(struct vhost_crypto
> *vcrypto,
> VC_LOG_ERR("Invalid descriptor");
> return -1;
> }
> + if (unlikely((vc_req->dev->mem) == NULL)) {
(Unneeded extra ())
It sounds to me that some initialisation failed, or processing happens
without waiting initialisation finished.
> + VC_LOG_ERR("Uninitialized vhost device");
> + return -1;
> + }
>
> dlen = head->len;
> src_desc = IOVA_TO_VVA(struct vring_desc *, vc_req->dev, vq,
> --
> 2.52.0
>
--
David Marchand