crypto: ccree - fix mem leak on error path
Fix a memory leak on the error path of IV generation code. Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com> Cc: stable@vger.kernel.org # v4.19+ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Родитель
1a143cdde4
Коммит
d574b707c8
|
@ -154,9 +154,6 @@ void cc_ivgen_fini(struct cc_drvdata *drvdata)
|
|||
}
|
||||
|
||||
ivgen_ctx->pool = NULL_SRAM_ADDR;
|
||||
|
||||
/* release "this" context */
|
||||
kfree(ivgen_ctx);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@ -174,10 +171,12 @@ int cc_ivgen_init(struct cc_drvdata *drvdata)
|
|||
int rc;
|
||||
|
||||
/* Allocate "this" context */
|
||||
ivgen_ctx = kzalloc(sizeof(*ivgen_ctx), GFP_KERNEL);
|
||||
ivgen_ctx = devm_kzalloc(device, sizeof(*ivgen_ctx), GFP_KERNEL);
|
||||
if (!ivgen_ctx)
|
||||
return -ENOMEM;
|
||||
|
||||
drvdata->ivgen_handle = ivgen_ctx;
|
||||
|
||||
/* Allocate pool's header for initial enc. key/IV */
|
||||
ivgen_ctx->pool_meta = dma_alloc_coherent(device, CC_IVPOOL_META_SIZE,
|
||||
&ivgen_ctx->pool_meta_dma,
|
||||
|
@ -196,8 +195,6 @@ int cc_ivgen_init(struct cc_drvdata *drvdata)
|
|||
goto out;
|
||||
}
|
||||
|
||||
drvdata->ivgen_handle = ivgen_ctx;
|
||||
|
||||
return cc_init_iv_sram(drvdata);
|
||||
|
||||
out:
|
||||
|
|
Загрузка…
Ссылка в новой задаче