Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp2232257ybx; Fri, 8 Nov 2019 01:48:08 -0800 (PST) X-Google-Smtp-Source: APXvYqyVwVbXk2aLyfDKMcIHLMV7wUEUnruEbM7M30S4G+X0wXMMvtXleh10QuKoSxKYXo/p62Q3 X-Received: by 2002:a17:906:e0d5:: with SMTP id gl21mr7561885ejb.292.1573206488704; Fri, 08 Nov 2019 01:48:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573206488; cv=none; d=google.com; s=arc-20160816; b=ENHnLV7CfQuumHFR1yaQnVlzvc6BFfr3sZHHoqWjSo2jyNpjaRTq8Un+6dSWuEuI6i 7vSOFgyqgLYGHD09/4IqBIzvU3nJp7DSVBIGLb8pbCsMaGYyeB942TBcAidBJ3mYZt6e YGEzyjAQchb/VGLBEZDCj3jv2vLsZBdwU3RIkI9BdgxAIniILuXBESnjjuhNkJ1kQHNd pnD0xtxk/KhphsSbx3KJtFjw6QkOOGQHZaOiJ6yIOUB6WHdpF7Q5N78wZKDruwG+zkm5 Kwh5C8uZAW4SaC8xk7lBYWqFpe6fhEtrZMy/CfQ+IgoTMvIhML9iycJzhdo/jM+C/opp GNxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=w0FiN6gyAyacF2gs8LToS4qHDjvvIl4Fdx7KgNHxcPA=; b=Y9BEVwrwJarVkh8TEDUU6s+jO/PxP/WuxqUtHBazOSmtUAUdzJn+H++4GflOT58KU3 mKu773UofWamz2tn4MdNoujvelRBMt19j3regLqFjjOVTspyYSBWEhmHRe8OE2VZ8gL/ PxXK0dUy3aB34LWp2jHWojlYoH3EFqyc/5/XD3iFs8nuCmAmC+KcfPlnWzXl8fZo7KeL vIydpbKimE85+c3ciwTQZF9ObthM0ASnvwMCXjg/4lnkoUkuTR/XV0/PsFkUvut9f7Gx ZXv6rNL8N8LTm8hrePAB5GtcoxfjjWoHqzgWFdiyfvBWiJjXBxk/RofCSpco4mLB2PHG VGkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=lbk0ljkn; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k63si4053826edc.347.2019.11.08.01.47.38; Fri, 08 Nov 2019 01:48:08 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=lbk0ljkn; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731181AbfKHJpg (ORCPT + 99 others); Fri, 8 Nov 2019 04:45:36 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:53609 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728513AbfKHJpg (ORCPT ); Fri, 8 Nov 2019 04:45:36 -0500 Received: by mail-wm1-f66.google.com with SMTP id x4so5450457wmi.3 for ; Fri, 08 Nov 2019 01:45:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=w0FiN6gyAyacF2gs8LToS4qHDjvvIl4Fdx7KgNHxcPA=; b=lbk0ljknocwIdkmF9k7GAivkHRDTe/IAjZGyeQYpGPDyWtGzQmSXi4OPx48dAgQO0J TMvYwp/agAMuRMGZj6lkbkJ+rTmtdHV52hEpEf1LJfXOcKs1uYdC7rSy+vs/M8ZR6SKx NU+mmP3iv3Pl2/Y/LVuUzmpS/b3BpIIYVYuCK6Y9GnUbTs/slK8qwiPZzPfCj4GUDkhT OGhdrWrwzuQfnXXtLYvvdNhAV+aANu6mo0CcXevdI5/q3duUfaB1RAoX2SEHj5YztOmt rVtHFeQqKCG1RiVCj1gxnZmQy5THOMv3RalfhBY9RGDSGtgOm5d6M67bKxxnJLiIqyZ2 948g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=w0FiN6gyAyacF2gs8LToS4qHDjvvIl4Fdx7KgNHxcPA=; b=cuJMD3CO1JoBP1r2IVunxiTc2nqjMj1bn28GC3mK5R5KiGHyp0Ya/JnWcMH/GuFMwo jTdw28zt0xGgOUhTMnLdN9Xlov8LU2M6lJDgejagl3wT1mzaPlWRDE3XyiuLx7uDAR9X PHtNuHC7ygAVJmhZW/Jifih4LHhfGavG3uIVeQQeFZZ9NFfeFb77TCphonJZAD9qDnh8 a91SR1o+PFyKCb2bbHEHT4+3kf1Rh8HUsrh6kIAzeeB9ohDdVSyz5lAD8jONpmPve8L+ mc39us3wPlCfcHzYWtV7lYuVu0jx2+OKAkWEkbDpfDoeM53CE5jezjwrsqK3vj/7DkTe N3/w== X-Gm-Message-State: APjAAAX+cKxXjzBXUUhDPdWG+0l+0oplvhgeq7V3y/8GcLr04R3/bdJO Mf33TaB6OFRbeLGgHSlZ6Y1sMw== X-Received: by 2002:a7b:c08f:: with SMTP id r15mr7125636wmh.45.1573206334295; Fri, 08 Nov 2019 01:45:34 -0800 (PST) Received: from localhost.localdomain ([51.15.160.169]) by smtp.googlemail.com with ESMTPSA id c24sm10601737wrb.27.2019.11.08.01.45.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 08 Nov 2019 01:45:33 -0800 (PST) From: Corentin Labbe To: davem@davemloft.net, herbert@gondor.apana.org.au, keescook+coverity-bot@chromium.org, narmstrong@baylibre.com Cc: linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, Corentin Labbe Subject: [PATCH] crypto: amlogic - fix two resources leak Date: Fri, 8 Nov 2019 09:45:17 +0000 Message-Id: <1573206317-9926-1-git-send-email-clabbe@baylibre.com> X-Mailer: git-send-email 2.7.4 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org This patch fixes two resources leak that occur on error path. Reported-by: coverity-bot Addresses-Coverity-ID: 1487403 ("RESOURCE_LEAK") Addresses-Coverity-ID: 1487401 ("Resource leaks") Fixes: 48fe583fe541 ("crypto: amlogic - Add crypto accelerator for amlogic GXL") Signed-off-by: Corentin Labbe --- drivers/crypto/amlogic/amlogic-gxl-cipher.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/amlogic/amlogic-gxl-cipher.c b/drivers/crypto/amlogic/amlogic-gxl-cipher.c index e9283ffdbd23..58b717aab6e8 100644 --- a/drivers/crypto/amlogic/amlogic-gxl-cipher.c +++ b/drivers/crypto/amlogic/amlogic-gxl-cipher.c @@ -131,7 +131,8 @@ static int meson_cipher(struct skcipher_request *areq) if (areq->iv && ivsize > 0) { if (ivsize > areq->cryptlen) { dev_err(mc->dev, "invalid ivsize=%d vs len=%d\n", ivsize, areq->cryptlen); - return -EINVAL; + err = -EINVAL; + goto theend; } memcpy(bkeyiv + 32, areq->iv, ivsize); keyivlen = 48; @@ -151,9 +152,10 @@ static int meson_cipher(struct skcipher_request *areq) phykeyiv = dma_map_single(mc->dev, bkeyiv, keyivlen, DMA_TO_DEVICE); - if (dma_mapping_error(mc->dev, phykeyiv)) { + err = dma_mapping_error(mc->dev, phykeyiv); + if (err) { dev_err(mc->dev, "Cannot DMA MAP KEY IV\n"); - return -EFAULT; + goto theend; } tloffset = 0; @@ -245,7 +247,6 @@ static int meson_cipher(struct skcipher_request *areq) if (areq->iv && ivsize > 0) { if (rctx->op_dir == MESON_DECRYPT) { memcpy(areq->iv, backup_iv, ivsize); - kzfree(backup_iv); } else { scatterwalk_map_and_copy(areq->iv, areq->dst, areq->cryptlen - ivsize, @@ -254,6 +255,7 @@ static int meson_cipher(struct skcipher_request *areq) } theend: kzfree(bkeyiv); + kzfree(backup_iv); return err; } -- 2.23.0