crypto: hisilicon/sec - Fix memory leak for sec resource release
authorChenghai Huang <huangchenghai2@huawei.com>
Sun, 7 Apr 2024 07:59:58 +0000 (15:59 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 12 Apr 2024 07:07:53 +0000 (15:07 +0800)
The AIV is one of the SEC resources. When releasing resources,
it need to release the AIV resources at the same time.
Otherwise, memory leakage occurs.

The aiv resource release is added to the sec resource release
function.

Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/hisilicon/sec2/sec_crypto.c

index 93a972fcbf6386e5d27a33940650e3b9816e3c52..0558f98e221f63a4e03b07f059b781ef6f97431b 100644 (file)
@@ -481,8 +481,10 @@ static void sec_alg_resource_free(struct sec_ctx *ctx,
 
        if (ctx->pbuf_supported)
                sec_free_pbuf_resource(dev, qp_ctx->res);
-       if (ctx->alg_type == SEC_AEAD)
+       if (ctx->alg_type == SEC_AEAD) {
                sec_free_mac_resource(dev, qp_ctx->res);
+               sec_free_aiv_resource(dev, qp_ctx->res);
+       }
 }
 
 static int sec_alloc_qp_ctx_resource(struct sec_ctx *ctx, struct sec_qp_ctx *qp_ctx)