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 93a972f..0558f98 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)