aboutsummaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorGravatar Chenghai Huang <huangchenghai2@huawei.com> 2024-04-07 15:59:58 +0800
committerGravatar Herbert Xu <herbert@gondor.apana.org.au> 2024-04-12 15:07:53 +0800
commitbba4250757b4ae1680fea435a358d8093f254094 (patch)
tree556bc57cd2f2c97a5a22426c7931b055bd9e9dd9 /drivers/crypto
parentcrypto: hisilicon - Adjust debugfs creation and release order (diff)
downloadlinux-bba4250757b4ae1680fea435a358d8093f254094.tar.gz
linux-bba4250757b4ae1680fea435a358d8093f254094.tar.bz2
linux-bba4250757b4ae1680fea435a358d8093f254094.zip
crypto: hisilicon/sec - Fix memory leak for sec resource release
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>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/hisilicon/sec2/sec_crypto.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/crypto/hisilicon/sec2/sec_crypto.c b/drivers/crypto/hisilicon/sec2/sec_crypto.c
index 93a972fcbf63..0558f98e221f 100644
--- a/drivers/crypto/hisilicon/sec2/sec_crypto.c
+++ b/drivers/crypto/hisilicon/sec2/sec_crypto.c
@@ -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)