Message ID | 20210401152839.2016363-1-colin.king@canonical.com |
---|---|
State | Superseded |
Headers | show |
Series | [V2] crypto: sa2ul: Fix memory leak of rxd | expand |
On Thu, Apr 01, 2021 at 04:28:39PM +0100, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > 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> > --- > > V2: Fix typo in $SUBJECT > > --- > drivers/crypto/sa2ul.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) Patch applied. Thanks. -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
diff --git a/drivers/crypto/sa2ul.c b/drivers/crypto/sa2ul.c index f300b0a5958a..ca7484aac727 100644 --- a/drivers/crypto/sa2ul.c +++ b/drivers/crypto/sa2ul.c @@ -1146,8 +1146,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; @@ -1155,8 +1157,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;