lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 228/530] crypto: sa2ul - Fix memory leak of rxd
    Date
    From: Colin Ian King <colin.king@canonical.com>

    [ Upstream commit 854b7737199848a91f6adfa0a03cf6f0c46c86e8 ]

    There are two error return paths that are not freeing rxd and causing
    memory leaks. Fix these.

    Addresses-Coverity: ("Resource leak")
    Fixes: 00c9211f60db ("crypto: sa2ul - Fix DMA mapping API usage")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/crypto/sa2ul.c | 8 ++++++--
    1 file changed, 6 insertions(+), 2 deletions(-)

    diff --git a/drivers/crypto/sa2ul.c b/drivers/crypto/sa2ul.c
    index 39d56ab12f27..4640fe0c1f22 100644
    --- a/drivers/crypto/sa2ul.c
    +++ b/drivers/crypto/sa2ul.c
    @@ -1138,8 +1138,10 @@ static int sa_run(struct sa_req *req)
    mapped_sg->sgt.sgl = src;
    mapped_sg->sgt.orig_nents = src_nents;
    ret = dma_map_sgtable(ddev, &mapped_sg->sgt, dir_src, 0);
    - if (ret)
    + if (ret) {
    + kfree(rxd);
    return ret;
    + }

    mapped_sg->dir = dir_src;
    mapped_sg->mapped = true;
    @@ -1147,8 +1149,10 @@ static int sa_run(struct sa_req *req)
    mapped_sg->sgt.sgl = req->src;
    mapped_sg->sgt.orig_nents = sg_nents;
    ret = dma_map_sgtable(ddev, &mapped_sg->sgt, dir_src, 0);
    - if (ret)
    + if (ret) {
    + kfree(rxd);
    return ret;
    + }

    mapped_sg->dir = dir_src;
    mapped_sg->mapped = true;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 18:02    [W:5.053 / U:0.528 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site