Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp768295pxf; Thu, 1 Apr 2021 13:03:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw5Nm1zxbERqAB2e46ttg/dUoURIGuZDnj4j5fiqujLS9s8QsEHDkgCD1D9wqUT+b5CGb9H X-Received: by 2002:a92:c983:: with SMTP id y3mr8145350iln.220.1617307434293; Thu, 01 Apr 2021 13:03:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617307434; cv=none; d=google.com; s=arc-20160816; b=Ws+eI1REslyDGAaXxNnvTVly/ZlMRWWyWc0DH3UHEe/u9oc216Vfbv2/7KiYdLpVEi DKvb1r2WaLqWhFc4B9vxMe/1SUqBQ5yzuIsgWFDrhbRsfbfj1tAOqzYPdpNfSAIP+5aT Px+1Dl5C5X8KaCqeIn26ctKM2WzRl/FbYQVg3KIt7KBdlblJM90+mvJLvxlpfpCz24QG QIiWeKjkHYJ3NVRujafTAsX++ryDxn90KcIrXt0fEbSQ3/0sLSNeiK/pmfZYWhaJYwHD mZUE1rc64AXQyMoa7HNrKfdxij3dZMHzYqIbNiA+kdwNbETW0bMTpr6FMuEdUYaLmpx/ a70g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=7oGzm1/hjuntqFZ3L8W8HrXqrn1bbW+O6mck/y3eXzE=; b=jpEyrZ/u8NkkOCJPf6CwpgojABm+AJ3/WlINU3/rP/OQvveQKG1n8ZFDfXmexNsTAC poIPRO3tUekz+zyapQjAPDGqXcWsxcft8x7iv65q1P9D0DEWkCILX5NrHNKr45GeE/lz 2EC1PGzi0uc9di8i8Dv5d5EWf1fo0iZsCKW8ovBZvjqbeZEUISkmxjURicc9QdgZlCgo yACyhza6OY4Jj5PIY94GAHNkGQ1wm82QjSQC6ULlaAaetru17BPBID7J9Amqg56q8mUt gnV3u7tZZiv/ZkayosXaxcSUMMVKkdR8+GbFbYpx8IaqXHaVsTe4+o8FqLNU4UWE4uir GxdA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f21si5636014ioo.37.2021.04.01.13.03.35; Thu, 01 Apr 2021 13:03:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235556AbhDAUDY (ORCPT + 99 others); Thu, 1 Apr 2021 16:03:24 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:45358 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235416AbhDAUDU (ORCPT ); Thu, 1 Apr 2021 16:03:20 -0400 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1lRzFP-0000Nl-Ob; Thu, 01 Apr 2021 15:28:39 +0000 From: Colin King To: Herbert Xu , "David S . Miller" , Peter Ujfalusi , linux-crypto@vger.kernel.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH][V2] crypto: sa2ul: Fix memory leak of rxd Date: Thu, 1 Apr 2021 16:28:39 +0100 Message-Id: <20210401152839.2016363-1-colin.king@canonical.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org From: Colin Ian King 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 --- V2: Fix typo in $SUBJECT --- 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 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; -- 2.30.2