RE: [PATCH] virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Wei Yongjun [mailto:weiyongjun@xxxxxxxxxxxxxxx]
> Sent: Monday, November 14, 2022 7:08 PM
> To: Michael S. Tsirkin <mst@xxxxxxxxxx>; Jason Wang
> <jasowang@xxxxxxxxxx>; Gonglei (Arei) <arei.gonglei@xxxxxxxxxx>;
> Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>; David S. Miller
> <davem@xxxxxxxxxxxxx>; zhenwei pi <pizhenwei@xxxxxxxxxxxxx>
> Cc: weiyongjun (A) <weiyongjun1@xxxxxxxxxx>;
> virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx; linux-crypto@xxxxxxxxxxxxxxx
> Subject: [PATCH] virtio-crypto: fix memory leak in
> virtio_crypto_alg_skcipher_close_session()
> 
> From: Wei Yongjun <weiyongjun1@xxxxxxxxxx>
> 
> 'vc_ctrl_req' is alloced in virtio_crypto_alg_skcipher_close_session(),
> and should be freed in the invalid ctrl_status->status error handling case.
> Otherwise there is a memory leak.
> 
> Fixes: 0756ad15b1fe ("virtio-crypto: use private buffer for control request")
> Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx>
> ---
>  drivers/crypto/virtio/virtio_crypto_skcipher_algs.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> 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;
>  	}
> 
Good catch.

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

Regards,
-Gonglei

>  	err = 0;
> --
> 2.34.1




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux