public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
	Sasha Levin <sashal@kernel.org>,
	bbrezillon@kernel.org, arno@natisbad.org, schalla@marvell.com,
	davem@davemloft.net, linux-crypto@vger.kernel.org
Subject: [PATCH AUTOSEL 6.6 005/139] crypto: octeontx - Fix authenc setkey
Date: Wed, 25 Sep 2024 08:07:05 -0400	[thread overview]
Message-ID: <20240925121137.1307574-5-sashal@kernel.org> (raw)
In-Reply-To: <20240925121137.1307574-1-sashal@kernel.org>

From: Herbert Xu <herbert@gondor.apana.org.au>

[ Upstream commit 311eea7e37c4c0b44b557d0c100860a03b4eab65 ]

Use the generic crypto_authenc_extractkeys helper instead of custom
parsing code that is slightly broken.  Also fix a number of memory
leaks by moving memory allocation from setkey to init_tfm (setkey
can be called multiple times over the life of a tfm).

Finally accept all hash key lengths by running the digest over
extra-long keys.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../crypto/marvell/octeontx/otx_cptvf_algs.c  | 261 +++++++-----------
 1 file changed, 93 insertions(+), 168 deletions(-)

diff --git a/drivers/crypto/marvell/octeontx/otx_cptvf_algs.c b/drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
index 1c2c870e887aa..f64b72398eced 100644
--- a/drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
+++ b/drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
@@ -17,7 +17,6 @@
 #include <crypto/sha2.h>
 #include <crypto/xts.h>
 #include <crypto/scatterwalk.h>
-#include <linux/rtnetlink.h>
 #include <linux/sort.h>
 #include <linux/module.h>
 #include "otx_cptvf.h"
@@ -66,6 +65,8 @@ static struct cpt_device_table ae_devices = {
 	.count = ATOMIC_INIT(0)
 };
 
+static struct otx_cpt_sdesc *alloc_sdesc(struct crypto_shash *alg);
+
 static inline int get_se_device(struct pci_dev **pdev, int *cpu_num)
 {
 	int count, ret = 0;
@@ -515,44 +516,61 @@ static int cpt_aead_init(struct crypto_aead *tfm, u8 cipher_type, u8 mac_type)
 	ctx->cipher_type = cipher_type;
 	ctx->mac_type = mac_type;
 
+	switch (ctx->mac_type) {
+	case OTX_CPT_SHA1:
+		ctx->hashalg = crypto_alloc_shash("sha1", 0, 0);
+		break;
+
+	case OTX_CPT_SHA256:
+		ctx->hashalg = crypto_alloc_shash("sha256", 0, 0);
+		break;
+
+	case OTX_CPT_SHA384:
+		ctx->hashalg = crypto_alloc_shash("sha384", 0, 0);
+		break;
+
+	case OTX_CPT_SHA512:
+		ctx->hashalg = crypto_alloc_shash("sha512", 0, 0);
+		break;
+	}
+
+	if (IS_ERR(ctx->hashalg))
+		return PTR_ERR(ctx->hashalg);
+
+	crypto_aead_set_reqsize_dma(tfm, sizeof(struct otx_cpt_req_ctx));
+
+	if (!ctx->hashalg)
+		return 0;
+
 	/*
 	 * When selected cipher is NULL we use HMAC opcode instead of
 	 * FLEXICRYPTO opcode therefore we don't need to use HASH algorithms
 	 * for calculating ipad and opad
 	 */
 	if (ctx->cipher_type != OTX_CPT_CIPHER_NULL) {
-		switch (ctx->mac_type) {
-		case OTX_CPT_SHA1:
-			ctx->hashalg = crypto_alloc_shash("sha1", 0,
-							  CRYPTO_ALG_ASYNC);
-			if (IS_ERR(ctx->hashalg))
-				return PTR_ERR(ctx->hashalg);
-			break;
-
-		case OTX_CPT_SHA256:
-			ctx->hashalg = crypto_alloc_shash("sha256", 0,
-							  CRYPTO_ALG_ASYNC);
-			if (IS_ERR(ctx->hashalg))
-				return PTR_ERR(ctx->hashalg);
-			break;
+		int ss = crypto_shash_statesize(ctx->hashalg);
 
-		case OTX_CPT_SHA384:
-			ctx->hashalg = crypto_alloc_shash("sha384", 0,
-							  CRYPTO_ALG_ASYNC);
-			if (IS_ERR(ctx->hashalg))
-				return PTR_ERR(ctx->hashalg);
-			break;
+		ctx->ipad = kzalloc(ss, GFP_KERNEL);
+		if (!ctx->ipad) {
+			crypto_free_shash(ctx->hashalg);
+			return -ENOMEM;
+		}
 
-		case OTX_CPT_SHA512:
-			ctx->hashalg = crypto_alloc_shash("sha512", 0,
-							  CRYPTO_ALG_ASYNC);
-			if (IS_ERR(ctx->hashalg))
-				return PTR_ERR(ctx->hashalg);
-			break;
+		ctx->opad = kzalloc(ss, GFP_KERNEL);
+		if (!ctx->opad) {
+			kfree(ctx->ipad);
+			crypto_free_shash(ctx->hashalg);
+			return -ENOMEM;
 		}
 	}
 
-	crypto_aead_set_reqsize_dma(tfm, sizeof(struct otx_cpt_req_ctx));
+	ctx->sdesc = alloc_sdesc(ctx->hashalg);
+	if (!ctx->sdesc) {
+		kfree(ctx->opad);
+		kfree(ctx->ipad);
+		crypto_free_shash(ctx->hashalg);
+		return -ENOMEM;
+	}
 
 	return 0;
 }
@@ -608,8 +626,7 @@ static void otx_cpt_aead_exit(struct crypto_aead *tfm)
 
 	kfree(ctx->ipad);
 	kfree(ctx->opad);
-	if (ctx->hashalg)
-		crypto_free_shash(ctx->hashalg);
+	crypto_free_shash(ctx->hashalg);
 	kfree(ctx->sdesc);
 }
 
@@ -705,7 +722,7 @@ static inline void swap_data64(void *buf, u32 len)
 		*dst = cpu_to_be64p(src);
 }
 
-static int copy_pad(u8 mac_type, u8 *out_pad, u8 *in_pad)
+static int swap_pad(u8 mac_type, u8 *pad)
 {
 	struct sha512_state *sha512;
 	struct sha256_state *sha256;
@@ -713,22 +730,19 @@ static int copy_pad(u8 mac_type, u8 *out_pad, u8 *in_pad)
 
 	switch (mac_type) {
 	case OTX_CPT_SHA1:
-		sha1 = (struct sha1_state *) in_pad;
+		sha1 = (struct sha1_state *)pad;
 		swap_data32(sha1->state, SHA1_DIGEST_SIZE);
-		memcpy(out_pad, &sha1->state, SHA1_DIGEST_SIZE);
 		break;
 
 	case OTX_CPT_SHA256:
-		sha256 = (struct sha256_state *) in_pad;
+		sha256 = (struct sha256_state *)pad;
 		swap_data32(sha256->state, SHA256_DIGEST_SIZE);
-		memcpy(out_pad, &sha256->state, SHA256_DIGEST_SIZE);
 		break;
 
 	case OTX_CPT_SHA384:
 	case OTX_CPT_SHA512:
-		sha512 = (struct sha512_state *) in_pad;
+		sha512 = (struct sha512_state *)pad;
 		swap_data64(sha512->state, SHA512_DIGEST_SIZE);
-		memcpy(out_pad, &sha512->state, SHA512_DIGEST_SIZE);
 		break;
 
 	default:
@@ -738,55 +752,53 @@ static int copy_pad(u8 mac_type, u8 *out_pad, u8 *in_pad)
 	return 0;
 }
 
-static int aead_hmac_init(struct crypto_aead *cipher)
+static int aead_hmac_init(struct crypto_aead *cipher,
+			  struct crypto_authenc_keys *keys)
 {
 	struct otx_cpt_aead_ctx *ctx = crypto_aead_ctx_dma(cipher);
-	int state_size = crypto_shash_statesize(ctx->hashalg);
 	int ds = crypto_shash_digestsize(ctx->hashalg);
 	int bs = crypto_shash_blocksize(ctx->hashalg);
-	int authkeylen = ctx->auth_key_len;
+	int authkeylen = keys->authkeylen;
 	u8 *ipad = NULL, *opad = NULL;
-	int ret = 0, icount = 0;
+	int icount = 0;
+	int ret;
 
-	ctx->sdesc = alloc_sdesc(ctx->hashalg);
-	if (!ctx->sdesc)
-		return -ENOMEM;
+	if (authkeylen > bs) {
+		ret = crypto_shash_digest(&ctx->sdesc->shash, keys->authkey,
+					  authkeylen, ctx->key);
+		if (ret)
+			return ret;
+		authkeylen = ds;
+	} else
+		memcpy(ctx->key, keys->authkey, authkeylen);
 
-	ctx->ipad = kzalloc(bs, GFP_KERNEL);
-	if (!ctx->ipad) {
-		ret = -ENOMEM;
-		goto calc_fail;
-	}
+	ctx->enc_key_len = keys->enckeylen;
+	ctx->auth_key_len = authkeylen;
 
-	ctx->opad = kzalloc(bs, GFP_KERNEL);
-	if (!ctx->opad) {
-		ret = -ENOMEM;
-		goto calc_fail;
-	}
+	if (ctx->cipher_type == OTX_CPT_CIPHER_NULL)
+		return keys->enckeylen ? -EINVAL : 0;
 
-	ipad = kzalloc(state_size, GFP_KERNEL);
-	if (!ipad) {
-		ret = -ENOMEM;
-		goto calc_fail;
+	switch (keys->enckeylen) {
+	case AES_KEYSIZE_128:
+		ctx->key_type = OTX_CPT_AES_128_BIT;
+		break;
+	case AES_KEYSIZE_192:
+		ctx->key_type = OTX_CPT_AES_192_BIT;
+		break;
+	case AES_KEYSIZE_256:
+		ctx->key_type = OTX_CPT_AES_256_BIT;
+		break;
+	default:
+		/* Invalid key length */
+		return -EINVAL;
 	}
 
-	opad = kzalloc(state_size, GFP_KERNEL);
-	if (!opad) {
-		ret = -ENOMEM;
-		goto calc_fail;
-	}
+	memcpy(ctx->key + authkeylen, keys->enckey, keys->enckeylen);
 
-	if (authkeylen > bs) {
-		ret = crypto_shash_digest(&ctx->sdesc->shash, ctx->key,
-					  authkeylen, ipad);
-		if (ret)
-			goto calc_fail;
-
-		authkeylen = ds;
-	} else {
-		memcpy(ipad, ctx->key, authkeylen);
-	}
+	ipad = ctx->ipad;
+	opad = ctx->opad;
 
+	memcpy(ipad, ctx->key, authkeylen);
 	memset(ipad + authkeylen, 0, bs - authkeylen);
 	memcpy(opad, ipad, bs);
 
@@ -804,7 +816,7 @@ static int aead_hmac_init(struct crypto_aead *cipher)
 	crypto_shash_init(&ctx->sdesc->shash);
 	crypto_shash_update(&ctx->sdesc->shash, ipad, bs);
 	crypto_shash_export(&ctx->sdesc->shash, ipad);
-	ret = copy_pad(ctx->mac_type, ctx->ipad, ipad);
+	ret = swap_pad(ctx->mac_type, ipad);
 	if (ret)
 		goto calc_fail;
 
@@ -812,25 +824,9 @@ static int aead_hmac_init(struct crypto_aead *cipher)
 	crypto_shash_init(&ctx->sdesc->shash);
 	crypto_shash_update(&ctx->sdesc->shash, opad, bs);
 	crypto_shash_export(&ctx->sdesc->shash, opad);
-	ret = copy_pad(ctx->mac_type, ctx->opad, opad);
-	if (ret)
-		goto calc_fail;
-
-	kfree(ipad);
-	kfree(opad);
-
-	return 0;
+	ret = swap_pad(ctx->mac_type, opad);
 
 calc_fail:
-	kfree(ctx->ipad);
-	ctx->ipad = NULL;
-	kfree(ctx->opad);
-	ctx->opad = NULL;
-	kfree(ipad);
-	kfree(opad);
-	kfree(ctx->sdesc);
-	ctx->sdesc = NULL;
-
 	return ret;
 }
 
@@ -838,57 +834,15 @@ static int otx_cpt_aead_cbc_aes_sha_setkey(struct crypto_aead *cipher,
 					   const unsigned char *key,
 					   unsigned int keylen)
 {
-	struct otx_cpt_aead_ctx *ctx = crypto_aead_ctx_dma(cipher);
-	struct crypto_authenc_key_param *param;
-	int enckeylen = 0, authkeylen = 0;
-	struct rtattr *rta = (void *)key;
-	int status = -EINVAL;
-
-	if (!RTA_OK(rta, keylen))
-		goto badkey;
-
-	if (rta->rta_type != CRYPTO_AUTHENC_KEYA_PARAM)
-		goto badkey;
-
-	if (RTA_PAYLOAD(rta) < sizeof(*param))
-		goto badkey;
-
-	param = RTA_DATA(rta);
-	enckeylen = be32_to_cpu(param->enckeylen);
-	key += RTA_ALIGN(rta->rta_len);
-	keylen -= RTA_ALIGN(rta->rta_len);
-	if (keylen < enckeylen)
-		goto badkey;
+	struct crypto_authenc_keys authenc_keys;
+	int status;
 
-	if (keylen > OTX_CPT_MAX_KEY_SIZE)
-		goto badkey;
-
-	authkeylen = keylen - enckeylen;
-	memcpy(ctx->key, key, keylen);
-
-	switch (enckeylen) {
-	case AES_KEYSIZE_128:
-		ctx->key_type = OTX_CPT_AES_128_BIT;
-		break;
-	case AES_KEYSIZE_192:
-		ctx->key_type = OTX_CPT_AES_192_BIT;
-		break;
-	case AES_KEYSIZE_256:
-		ctx->key_type = OTX_CPT_AES_256_BIT;
-		break;
-	default:
-		/* Invalid key length */
-		goto badkey;
-	}
-
-	ctx->enc_key_len = enckeylen;
-	ctx->auth_key_len = authkeylen;
-
-	status = aead_hmac_init(cipher);
+	status = crypto_authenc_extractkeys(&authenc_keys, key, keylen);
 	if (status)
 		goto badkey;
 
-	return 0;
+	status = aead_hmac_init(cipher, &authenc_keys);
+
 badkey:
 	return status;
 }
@@ -897,36 +851,7 @@ static int otx_cpt_aead_ecb_null_sha_setkey(struct crypto_aead *cipher,
 					    const unsigned char *key,
 					    unsigned int keylen)
 {
-	struct otx_cpt_aead_ctx *ctx = crypto_aead_ctx_dma(cipher);
-	struct crypto_authenc_key_param *param;
-	struct rtattr *rta = (void *)key;
-	int enckeylen = 0;
-
-	if (!RTA_OK(rta, keylen))
-		goto badkey;
-
-	if (rta->rta_type != CRYPTO_AUTHENC_KEYA_PARAM)
-		goto badkey;
-
-	if (RTA_PAYLOAD(rta) < sizeof(*param))
-		goto badkey;
-
-	param = RTA_DATA(rta);
-	enckeylen = be32_to_cpu(param->enckeylen);
-	key += RTA_ALIGN(rta->rta_len);
-	keylen -= RTA_ALIGN(rta->rta_len);
-	if (enckeylen != 0)
-		goto badkey;
-
-	if (keylen > OTX_CPT_MAX_KEY_SIZE)
-		goto badkey;
-
-	memcpy(ctx->key, key, keylen);
-	ctx->enc_key_len = enckeylen;
-	ctx->auth_key_len = keylen;
-	return 0;
-badkey:
-	return -EINVAL;
+	return otx_cpt_aead_cbc_aes_sha_setkey(cipher, key, keylen);
 }
 
 static int otx_cpt_aead_gcm_aes_setkey(struct crypto_aead *cipher,
-- 
2.43.0


  parent reply	other threads:[~2024-09-25 12:11 UTC|newest]

Thread overview: 148+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-25 12:07 [PATCH AUTOSEL 6.6 001/139] wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 002/139] wifi: rtw89: avoid to add interface to list twice when SER Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 003/139] wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 004/139] crypto: x86/sha256 - Add parentheses around macros' single arguments Sasha Levin
2024-09-25 12:07 ` Sasha Levin [this message]
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 006/139] crypto: octeontx2 - Fix authenc setkey Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 007/139] ice: Adjust over allocation of memory in ice_sched_add_root_node() and ice_sched_add_node() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 008/139] wifi: iwlwifi: mvm: Fix a race in scan abort flow Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 009/139] wifi: iwlwifi: mvm: drop wrong STA selection in TX Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 010/139] wifi: cfg80211: Set correct chandef when starting CAC Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 011/139] net/xen-netback: prevent UAF in xenvif_flush_hash() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 012/139] net: hisilicon: hip04: fix OF node leak in probe() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 013/139] net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 014/139] net: hisilicon: hns_mdio: fix OF node leak in probe() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 015/139] ACPI: PAD: fix crash in exit_round_robin() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 016/139] ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 017/139] ACPICA: Fix memory leak if acpi_ps_get_next_field() fails Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 018/139] e1000e: avoid failing the system during pm_suspend Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 019/139] wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 020/139] net: sched: consistently use rcu_replace_pointer() in taprio_change() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 021/139] Bluetooth: btusb: Add Realtek RTL8852C support ID 0x0489:0xe122 Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 022/139] Bluetooth: btrtl: Set msft ext address filter quirk for RTL8852B Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 023/139] ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18 Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 024/139] ACPI: CPPC: Add support for setting EPP register in FFH Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 025/139] blk_iocost: fix more out of bound shifts Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 026/139] nvme-pci: qdepth 1 quirk Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 027/139] wifi: ath12k: fix array out-of-bound access in SoC stats Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 028/139] wifi: ath11k: " Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 029/139] wifi: rtw88: select WANT_DEV_COREDUMP Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 030/139] l2tp: don't use tunnel socket sk_user_data in ppp procfs output Sasha Levin
2024-09-25 14:27   ` James Chapman
2024-10-11 13:52     ` Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 031/139] ACPI: EC: Do not release locks during operation region accesses Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 032/139] ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 033/139] tipc: guard against string buffer overrun Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 034/139] net: mvpp2: Increase size of queue_name buffer Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 035/139] bnxt_en: Extend maximum length of version string by 1 byte Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 036/139] ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR) Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 037/139] wifi: rtw89: correct base HT rate mask for firmware Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 038/139] netfilter: nf_tables: don't initialize registers in nft_do_chain() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 039/139] ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 040/139] net: atlantic: Avoid warning about potential string truncation Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 041/139] crypto: simd - Do not call crypto_alloc_tfm during registration Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 042/139] netpoll: Ensure clean state on setup failures Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 043/139] tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 044/139] wifi: iwlwifi: mvm: use correct key iteration Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 045/139] wifi: iwlwifi: mvm: avoid NULL pointer dereference Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 046/139] wifi: mac80211: fix RCU list iterations Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 047/139] ACPICA: iasl: handle empty connection_node Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 048/139] proc: add config & param to block forcing mem writes Sasha Levin
2024-09-25 15:58   ` Alexey Dobriyan
2024-09-26 11:07     ` Adrian Ratiu
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 049/139] drivers/perf: arm_spe: Use perf_allow_kernel() for permissions Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 050/139] can: netlink: avoid call to do_set_data_bittiming callback with stale can_priv::ctrlmode Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 051/139] crypto: hisilicon/qm - reset device before enabling it Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 052/139] wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 053/139] wifi: mt76: mt7915: hold dev->mt76.mutex while disabling tx worker Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 054/139] net: tls: wait for async completion on last message Sasha Levin
2024-10-02 12:50   ` Jakub Kicinski
2024-10-06  0:31     ` Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 055/139] wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 056/139] nfp: Use IRQF_NO_AUTOEN flag in request_irq() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 057/139] ALSA: usb-audio: Add input value sanity checks for standard types Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 058/139] x86/ioapic: Handle allocation failures gracefully Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 059/139] ALSA: usb-audio: Support multiple control interfaces Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 060/139] ALSA: usb-audio: Define macros for quirk table entries Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 061/139] ALSA: usb-audio: Replace complex quirk lines with macros Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 062/139] ALSA: usb-audio: Add logitech Audio profile quirk Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 063/139] ASoC: codecs: wsa883x: Handle reading version failure Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 064/139] tools/x86/kcpuid: Protect against faulty "max subleaf" values Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 065/139] x86/pkeys: Add PKRU as a parameter in signal handling functions Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 066/139] x86/pkeys: Restore altstack access in sigreturn() Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 067/139] x86/kexec: Add EFI config table identity mapping for kexec kernel Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 068/139] ALSA: asihpi: Fix potential OOB array access Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 069/139] ALSA: hdsp: Break infinite MIDI input flush loop Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 070/139] tools/nolibc: powerpc: limit stack-protector workaround to GCC Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 071/139] selftests/nolibc: avoid passing NULL to printf("%s") Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 072/139] x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments() Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 073/139] hwmon: (nct6775) add G15CF to ASUS WMI monitoring list Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 074/139] fbdev: efifb: Register sysfs groups through driver core Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 075/139] fbdev: pxafb: Fix possible use after free in pxafb_task() Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 076/139] coredump: Standartize and fix logging Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 077/139] rcuscale: Provide clear error when async specified without primitives Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 078/139] iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 079/139] iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 080/139] power: reset: brcmstb: Do not go into infinite loop if reset fails Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 081/139] iommu/vt-d: Always reserve a domain ID for identity setup Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 082/139] iommu/vt-d: Fix potential lockup if qi_submit_sync called with 0 count Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 083/139] cgroup: Disallow mounting v1 hierarchies without controller implementation Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 084/139] drm/stm: Avoid use-after-free issues with crtc and plane Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 085/139] drm/amdgpu: disallow multiple BO_HANDLES chunks in one submit Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 086/139] drm/amdkfd: amdkfd_free_gtt_mem clear the correct pointer Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 087/139] drm/amd/display: Add null check for top_pipe_to_program in commit_planes_for_stream Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 088/139] ata: pata_serverworks: Do not use the term blacklist Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 089/139] ata: sata_sil: Rename sil_blacklist to sil_quirks Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 090/139] HID: Ignore battery for all ELAN I2C-HID devices Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 091/139] drm/amd/display: Handle null 'stream_status' in 'planes_changed_for_existing_stream' Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 092/139] drm/amd/display: Check null pointers before using dc->clk_mgr Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 093/139] drm/amd/display: Add null check for 'afb' in amdgpu_dm_plane_handle_cursor_update (v2) Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 094/139] drm/amd/display: fix double free issue during amdgpu module unload Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 095/139] jfs: UBSAN: shift-out-of-bounds in dbFindBits Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 096/139] jfs: Fix uaf in dbFreeBits Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 097/139] jfs: check if leafidx greater than num leaves per dmap tree Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 098/139] scsi: smartpqi: correct stream detection Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 099/139] drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 100/139] jfs: Fix uninit-value access of new_ea in ea_buffer Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 101/139] drm/amdgpu: add raven1 gfxoff quirk Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 102/139] drm/amdgpu: enable gfxoff quirk on HP 705G4 Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 103/139] drm/amdkfd: Fix resource leak in criu restore queue Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 104/139] HID: multitouch: Add support for Thinkpad X12 Gen 2 Kbd Portfolio Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 105/139] platform/x86: touchscreen_dmi: add nanote-next quirk Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 106/139] drm/stm: ltdc: reset plane transparency after plane disable Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 107/139] drm/amd/display: Check stream before comparing them Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 108/139] drm/amd/display: Check link_res->hpo_dp_link_enc before using it Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 109/139] drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 110/139] drm/amd/display: Fix index out of bounds in " Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 111/139] drm/amd/display: Fix index out of bounds in DCN30 color transformation Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 112/139] drm/amd/display: Avoid overflow assignment in link_dp_cts Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 113/139] drm/amd/display: Initialize get_bytes_per_element's default to 1 Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 114/139] drm/printer: Allow NULL data in devcoredump printer Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 115/139] perf,x86: avoid missing caller address in stack traces captured in uprobe Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 116/139] scsi: aacraid: Rearrange order of struct aac_srb_unit Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 117/139] scsi: lpfc: Update PRLO handling in direct attached topology Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 118/139] drm/amdgpu: fix unchecked return value warning for amdgpu_gfx Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 119/139] perf: Fix event_function_call() locking Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 120/139] scsi: NCR5380: Initialize buffer for MSG IN and STATUS transfers Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 121/139] drm/radeon/r100: Handle unknown family in r100_cp_init_microcode() Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 122/139] drm/amdgpu: Block MMR_READ IOCTL in reset Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 123/139] drm/amdgpu/gfx9: use rlc safe mode for soft recovery Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 124/139] drm/amd/pm: ensure the fw_info is not null before using it Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 125/139] of/irq: Refer to actual buffer size in of_irq_parse_one() Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 126/139] powerpc/pseries: Use correct data types from pseries_hp_errorlog struct Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 127/139] drm/amdgpu/gfx11: use rlc safe mode for soft recovery Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 128/139] drm/amdgpu/gfx10: " Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 129/139] platform/x86: lenovo-ymc: Ignore the 0x0 state Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 130/139] ksmbd: add refcnt to ksmbd_conn struct Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 131/139] ext4: don't set SB_RDONLY after filesystem errors Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 132/139] bpf: Make the pointer returned by iter next method valid Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 133/139] iomap: fix iomap_dio_zero() for fs bs > system page size Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 134/139] ext4: ext4_search_dir should return a proper error Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 135/139] ext4: avoid use-after-free in ext4_ext_show_leaf() Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 136/139] ext4: fix i_data_sem unlock order in ext4_ind_migrate() Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 137/139] bpftool: Fix undefined behavior caused by shifting into the sign bit Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 138/139] iomap: handle a post-direct I/O invalidate race in iomap_write_delalloc_release Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 139/139] bpftool: Fix undefined behavior in qsort(NULL, 0, ...) Sasha Levin
2024-10-05  8:57 ` [PATCH AUTOSEL 6.6 001/139] wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats() Pavel Machek
2024-10-05  9:06   ` Greg KH
2024-10-05 12:03     ` Pavel Machek

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=20240925121137.1307574-5-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=arno@natisbad.org \
    --cc=bbrezillon@kernel.org \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=schalla@marvell.com \
    --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