linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Daniel Phan <daniel.phan36@gmail.com>,
	Johannes Berg <johannes.berg@intel.com>,
	Sasha Levin <sashal@kernel.org>,
	linux-wireless@vger.kernel.org, netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 5.11 14/38] mac80211: Check crypto_aead_encrypt for errors
Date: Mon, 29 Mar 2021 18:21:09 -0400	[thread overview]
Message-ID: <20210329222133.2382393-14-sashal@kernel.org> (raw)
In-Reply-To: <20210329222133.2382393-1-sashal@kernel.org>

From: Daniel Phan <daniel.phan36@gmail.com>

[ Upstream commit 58d25626f6f0ea5bcec3c13387b9f835d188723d ]

crypto_aead_encrypt returns <0 on error, so if these calls are not checked,
execution may continue with failed encrypts.  It also seems that these two
crypto_aead_encrypt calls are the only instances in the codebase that are
not checked for errors.

Signed-off-by: Daniel Phan <daniel.phan36@gmail.com>
Link: https://lore.kernel.org/r/20210309204137.823268-1-daniel.phan36@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 net/mac80211/aead_api.c | 5 +++--
 net/mac80211/aes_gmac.c | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/net/mac80211/aead_api.c b/net/mac80211/aead_api.c
index d7b3d905d535..b00d6f5b33f4 100644
--- a/net/mac80211/aead_api.c
+++ b/net/mac80211/aead_api.c
@@ -23,6 +23,7 @@ int aead_encrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad, size_t aad_len,
 	struct aead_request *aead_req;
 	int reqsize = sizeof(*aead_req) + crypto_aead_reqsize(tfm);
 	u8 *__aad;
+	int ret;
 
 	aead_req = kzalloc(reqsize + aad_len, GFP_ATOMIC);
 	if (!aead_req)
@@ -40,10 +41,10 @@ int aead_encrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad, size_t aad_len,
 	aead_request_set_crypt(aead_req, sg, sg, data_len, b_0);
 	aead_request_set_ad(aead_req, sg[0].length);
 
-	crypto_aead_encrypt(aead_req);
+	ret = crypto_aead_encrypt(aead_req);
 	kfree_sensitive(aead_req);
 
-	return 0;
+	return ret;
 }
 
 int aead_decrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad, size_t aad_len,
diff --git a/net/mac80211/aes_gmac.c b/net/mac80211/aes_gmac.c
index 6f3b3a0cc10a..512cab073f2e 100644
--- a/net/mac80211/aes_gmac.c
+++ b/net/mac80211/aes_gmac.c
@@ -22,6 +22,7 @@ int ieee80211_aes_gmac(struct crypto_aead *tfm, const u8 *aad, u8 *nonce,
 	struct aead_request *aead_req;
 	int reqsize = sizeof(*aead_req) + crypto_aead_reqsize(tfm);
 	const __le16 *fc;
+	int ret;
 
 	if (data_len < GMAC_MIC_LEN)
 		return -EINVAL;
@@ -59,10 +60,10 @@ int ieee80211_aes_gmac(struct crypto_aead *tfm, const u8 *aad, u8 *nonce,
 	aead_request_set_crypt(aead_req, sg, sg, 0, iv);
 	aead_request_set_ad(aead_req, GMAC_AAD_LEN + data_len);
 
-	crypto_aead_encrypt(aead_req);
+	ret = crypto_aead_encrypt(aead_req);
 	kfree_sensitive(aead_req);
 
-	return 0;
+	return ret;
 }
 
 struct crypto_aead *ieee80211_aes_gmac_key_setup(const u8 key[],
-- 
2.30.1


  parent reply	other threads:[~2021-03-29 22:23 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-29 22:20 [PATCH AUTOSEL 5.11 01/38] ARM: dts: am33xx: add aliases for mmc interfaces Sasha Levin
2021-03-29 22:20 ` [PATCH AUTOSEL 5.11 02/38] bus: ti-sysc: Fix warning on unbind if reset is not deasserted Sasha Levin
2021-03-29 22:20 ` [PATCH AUTOSEL 5.11 03/38] drm/msm: a6xx: Make sure the SQE microcode is safe Sasha Levin
2021-03-29 22:20 ` [PATCH AUTOSEL 5.11 04/38] platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2 Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 05/38] bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 06/38] net/mlx5e: Enforce minimum value check for ICOSQ size Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 07/38] net: pxa168_eth: Fix a potential data race in pxa168_eth_remove Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 08/38] kunit: tool: Fix a python tuple typing error Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 09/38] mISDN: fix crash in fritzpci Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 10/38] net: correct sk_acceptq_is_full() Sasha Levin
2021-03-31 16:17   ` Eric Dumazet
2021-04-01  2:56     ` Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 11/38] net: arcnet: com20020 fix error handling Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 12/38] can: kvaser_usb: Add support for USBcan Pro 4xHS Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 13/38] mac80211: fix double free in ibss_leave Sasha Levin
2021-03-29 22:21 ` Sasha Levin [this message]
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 15/38] mac80211: choose first enabled channel for monitor Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 16/38] drm/msm/dsi_pll_7nm: Fix variable usage for pll_lockdet_rate Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 17/38] drm/msm/adreno: a5xx_power: Don't apply A540 lm_setup to other GPUs Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 18/38] drm/msm: Ratelimit invalid-fence message Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 19/38] netfilter: conntrack: Fix gre tunneling over ipv6 Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 20/38] netfilter: nftables: skip hook overlap logic if flowtable is stale Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 21/38] net: ipa: fix init header command validation Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 22/38] platform/x86: thinkpad_acpi: Allow the FnLock LED to change state Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 23/38] kselftest/arm64: sve: Do not use non-canonical FFR register value Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 24/38] drm/msm/disp/dpu1: icc path needs to be set before dpu runtime resume Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 25/38] x86/build: Turn off -fcf-protection for realmode targets Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 26/38] block: clear GD_NEED_PART_SCAN later in bdev_disk_changed Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 27/38] platform/x86: intel_pmt_class: Initial resource to 0 Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 28/38] platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 29/38] ptp_qoriq: fix overflow in ptp_qoriq_adjfine() u64 calcalation Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 30/38] scsi: target: pscsi: Clean up after failure in pscsi_map_sg() Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 31/38] arm64: kernel: disable CNP on Carmel Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 32/38] selftests/vm: fix out-of-tree build Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 33/38] ia64: mca: allocate early mca with GFP_ATOMIC Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 34/38] ia64: fix format strings for err_inject Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 35/38] cifs: revalidate mapping when we open files for SMB1 POSIX Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 36/38] cifs: Silently ignore unknown oplock break handle Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 37/38] io_uring: fix timeout cancel return code Sasha Levin
2021-03-29 22:21 ` [PATCH AUTOSEL 5.11 38/38] math: Export mul_u64_u64_div_u64 Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210329222133.2382393-14-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=daniel.phan36@gmail.com \
    --cc=johannes.berg@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).