Messages in this thread Patch in this message | | | From | Xiaoliang Pang <> | Subject | [PATCH v2] cypto: mediatek - fix leaks in mtk_desc_ring_alloc | Date | Fri, 4 Sep 2020 17:42:33 +0800 |
| |
In the init loop, if an error occurs in function 'dma_alloc_coherent', then goto the err_cleanup section, in the cleanup loop, the struct mtk_ring rising[i] will not be released, causing a memory leak
Signed-off-by: Xiaoliang Pang <dawning.pang@gmail.com> --- drivers/crypto/mediatek/mtk-platform.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/mediatek/mtk-platform.c b/drivers/crypto/mediatek/mtk-platform.c index 05d341e4a696..ebb3bdef0dbe 100644 --- a/drivers/crypto/mediatek/mtk-platform.c +++ b/drivers/crypto/mediatek/mtk-platform.c @@ -469,13 +469,13 @@ static int mtk_desc_ring_alloc(struct mtk_cryp *cryp) return 0; err_cleanup: - for (; i >= 0; --i) { + do { dma_free_coherent(cryp->dev, MTK_DESC_RING_SZ, ring[i]->res_base, ring[i]->res_dma); dma_free_coherent(cryp->dev, MTK_DESC_RING_SZ, ring[i]->cmd_base, ring[i]->cmd_dma); kfree(ring[i]); - } + }while(i--); return err; } -- 2.17.1
| |