RE: [PATCH] virtio-crypto: Fix an error handling path in virtio_crypto_alg_skcipher_close_session()

From: Gonglei (Arei)
Date: Sun May 22 2022 - 23:30:25 EST




> -----Original Message-----
> From: Christophe JAILLET [mailto:christophe.jaillet@xxxxxxxxxx]
> Sent: Sunday, May 22, 2022 9:07 PM
> To: dan.carpenter@xxxxxxxxxx; Gonglei (Arei) <arei.gonglei@xxxxxxxxxx>;
> Michael S. Tsirkin <mst@xxxxxxxxxx>; Jason Wang <jasowang@xxxxxxxxxx>;
> Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>; David S. Miller
> <davem@xxxxxxxxxxxxx>; zhenwei pi <pizhenwei@xxxxxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx; kernel-janitors@xxxxxxxxxxxxxxx; Christophe
> JAILLET <christophe.jaillet@xxxxxxxxxx>;
> virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx; linux-crypto@xxxxxxxxxxxxxxx
> Subject: [PATCH] virtio-crypto: Fix an error handling path in
> virtio_crypto_alg_skcipher_close_session()
>
> Now that a private buffer is allocated (see commit in the Fixes tag), it must be
> released in all error handling paths.
>
> Add the missing goto to avoid a leak in the error handling path.
>
> Fixes: 42e6ac99e417 ("virtio-crypto: use private buffer for control request")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> ---
> drivers/crypto/virtio/virtio_crypto_skcipher_algs.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>

Reviewed-by: Gonglei <arei.gonglei@xxxxxxxxxx>

Regards,
-Gonglei

> diff --git a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c
> b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c
> index e553ccadbcbc..e5876286828b 100644
> --- a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c
> +++ b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c
> @@ -239,7 +239,8 @@ static int virtio_crypto_alg_skcipher_close_session(
> pr_err("virtio_crypto: Close session failed status: %u, session_id:
> 0x%llx\n",
> ctrl_status->status, destroy_session->session_id);
>
> - return -EINVAL;
> + err = -EINVAL;
> + goto out;
> }
>
> err = 0;
> --
> 2.34.1