virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session()
authorWei Yongjun <weiyongjun1@huawei.com>
Mon, 14 Nov 2022 11:07:40 +0000 (11:07 +0000)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 28 Dec 2022 10:28:10 +0000 (05:28 -0500)
'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@huawei.com>
Message-Id: <20221114110740.537276-1-weiyongjun@huaweicloud.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Gonglei <arei.gonglei@huawei.com>
Acked-by: zhenwei pi<pizhenwei@bytedance.com>
Acked-by: Jason Wang <jasowang@redhat.com>
drivers/crypto/virtio/virtio_crypto_skcipher_algs.c

index e553cca..e587628 100644 (file)
@@ -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;