All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Eric Biggers <ebiggers@google.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 289/292] crypto: testmgr - fix RNG performance in fuzz tests
Date: Mon, 22 May 2023 20:10:46 +0100	[thread overview]
Message-ID: <20230522190413.172894107@linuxfoundation.org> (raw)
In-Reply-To: <20230522190405.880733338@linuxfoundation.org>

From: Eric Biggers <ebiggers@google.com>

commit f900fde28883602b6c5e1027a6c912b673382aaf upstream.

The performance of the crypto fuzz tests has greatly regressed since
v5.18.  When booting a kernel on an arm64 dev board with all software
crypto algorithms and CONFIG_CRYPTO_MANAGER_EXTRA_TESTS enabled, the
fuzz tests now take about 200 seconds to run, or about 325 seconds with
lockdep enabled, compared to about 5 seconds before.

The root cause is that the random number generation has become much
slower due to commit d4150779e60f ("random32: use real rng for
non-deterministic randomness").  On my same arm64 dev board, at the time
the fuzz tests are run, get_random_u8() is about 345x slower than
prandom_u32_state(), or about 469x if lockdep is enabled.

Lockdep makes a big difference, but much of the rest comes from the
get_random_*() functions taking a *very* slow path when the CRNG is not
yet initialized.  Since the crypto self-tests run early during boot,
even having a hardware RNG driver enabled (CONFIG_CRYPTO_DEV_QCOM_RNG in
my case) doesn't prevent this.  x86 systems don't have this issue, but
they still see a significant regression if lockdep is enabled.

Converting the "Fully random bytes" case in generate_random_bytes() to
use get_random_bytes() helps significantly, improving the test time to
about 27 seconds.  But that's still over 5x slower than before.

This is all a bit silly, though, since the fuzz tests don't actually
need cryptographically secure random numbers.  So let's just make them
use a non-cryptographically-secure RNG as they did before.  The original
prandom_u32() is gone now, so let's use prandom_u32_state() instead,
with an explicitly managed state, like various other self-tests in the
kernel source tree (rbtree_test.c, test_scanf.c, etc.) already do.  This
also has the benefit that no locking is required anymore, so performance
should be even better than the original version that used prandom_u32().

Fixes: d4150779e60f ("random32: use real rng for non-deterministic randomness")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 crypto/testmgr.c | 266 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 169 insertions(+), 97 deletions(-)

diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 814d2dc87d7e8..56c39a0c94952 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -852,12 +852,50 @@ static int prepare_keybuf(const u8 *key, unsigned int ksize,
 
 #ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
 
+/*
+ * The fuzz tests use prandom instead of the normal Linux RNG since they don't
+ * need cryptographically secure random numbers.  This greatly improves the
+ * performance of these tests, especially if they are run before the Linux RNG
+ * has been initialized or if they are run on a lockdep-enabled kernel.
+ */
+
+static inline void init_rnd_state(struct rnd_state *rng)
+{
+	prandom_seed_state(rng, get_random_u64());
+}
+
+static inline u8 prandom_u8(struct rnd_state *rng)
+{
+	return prandom_u32_state(rng);
+}
+
+static inline u32 prandom_u32_below(struct rnd_state *rng, u32 ceil)
+{
+	/*
+	 * This is slightly biased for non-power-of-2 values of 'ceil', but this
+	 * isn't important here.
+	 */
+	return prandom_u32_state(rng) % ceil;
+}
+
+static inline bool prandom_bool(struct rnd_state *rng)
+{
+	return prandom_u32_below(rng, 2);
+}
+
+static inline u32 prandom_u32_inclusive(struct rnd_state *rng,
+					u32 floor, u32 ceil)
+{
+	return floor + prandom_u32_below(rng, ceil - floor + 1);
+}
+
 /* Generate a random length in range [0, max_len], but prefer smaller values */
-static unsigned int generate_random_length(unsigned int max_len)
+static unsigned int generate_random_length(struct rnd_state *rng,
+					   unsigned int max_len)
 {
-	unsigned int len = prandom_u32_max(max_len + 1);
+	unsigned int len = prandom_u32_below(rng, max_len + 1);
 
-	switch (prandom_u32_max(4)) {
+	switch (prandom_u32_below(rng, 4)) {
 	case 0:
 		return len % 64;
 	case 1:
@@ -870,43 +908,44 @@ static unsigned int generate_random_length(unsigned int max_len)
 }
 
 /* Flip a random bit in the given nonempty data buffer */
-static void flip_random_bit(u8 *buf, size_t size)
+static void flip_random_bit(struct rnd_state *rng, u8 *buf, size_t size)
 {
 	size_t bitpos;
 
-	bitpos = prandom_u32_max(size * 8);
+	bitpos = prandom_u32_below(rng, size * 8);
 	buf[bitpos / 8] ^= 1 << (bitpos % 8);
 }
 
 /* Flip a random byte in the given nonempty data buffer */
-static void flip_random_byte(u8 *buf, size_t size)
+static void flip_random_byte(struct rnd_state *rng, u8 *buf, size_t size)
 {
-	buf[prandom_u32_max(size)] ^= 0xff;
+	buf[prandom_u32_below(rng, size)] ^= 0xff;
 }
 
 /* Sometimes make some random changes to the given nonempty data buffer */
-static void mutate_buffer(u8 *buf, size_t size)
+static void mutate_buffer(struct rnd_state *rng, u8 *buf, size_t size)
 {
 	size_t num_flips;
 	size_t i;
 
 	/* Sometimes flip some bits */
-	if (prandom_u32_max(4) == 0) {
-		num_flips = min_t(size_t, 1 << prandom_u32_max(8), size * 8);
+	if (prandom_u32_below(rng, 4) == 0) {
+		num_flips = min_t(size_t, 1 << prandom_u32_below(rng, 8),
+				  size * 8);
 		for (i = 0; i < num_flips; i++)
-			flip_random_bit(buf, size);
+			flip_random_bit(rng, buf, size);
 	}
 
 	/* Sometimes flip some bytes */
-	if (prandom_u32_max(4) == 0) {
-		num_flips = min_t(size_t, 1 << prandom_u32_max(8), size);
+	if (prandom_u32_below(rng, 4) == 0) {
+		num_flips = min_t(size_t, 1 << prandom_u32_below(rng, 8), size);
 		for (i = 0; i < num_flips; i++)
-			flip_random_byte(buf, size);
+			flip_random_byte(rng, buf, size);
 	}
 }
 
 /* Randomly generate 'count' bytes, but sometimes make them "interesting" */
-static void generate_random_bytes(u8 *buf, size_t count)
+static void generate_random_bytes(struct rnd_state *rng, u8 *buf, size_t count)
 {
 	u8 b;
 	u8 increment;
@@ -915,11 +954,11 @@ static void generate_random_bytes(u8 *buf, size_t count)
 	if (count == 0)
 		return;
 
-	switch (prandom_u32_max(8)) { /* Choose a generation strategy */
+	switch (prandom_u32_below(rng, 8)) { /* Choose a generation strategy */
 	case 0:
 	case 1:
 		/* All the same byte, plus optional mutations */
-		switch (prandom_u32_max(4)) {
+		switch (prandom_u32_below(rng, 4)) {
 		case 0:
 			b = 0x00;
 			break;
@@ -927,28 +966,28 @@ static void generate_random_bytes(u8 *buf, size_t count)
 			b = 0xff;
 			break;
 		default:
-			b = get_random_u8();
+			b = prandom_u8(rng);
 			break;
 		}
 		memset(buf, b, count);
-		mutate_buffer(buf, count);
+		mutate_buffer(rng, buf, count);
 		break;
 	case 2:
 		/* Ascending or descending bytes, plus optional mutations */
-		increment = get_random_u8();
-		b = get_random_u8();
+		increment = prandom_u8(rng);
+		b = prandom_u8(rng);
 		for (i = 0; i < count; i++, b += increment)
 			buf[i] = b;
-		mutate_buffer(buf, count);
+		mutate_buffer(rng, buf, count);
 		break;
 	default:
 		/* Fully random bytes */
-		for (i = 0; i < count; i++)
-			buf[i] = get_random_u8();
+		prandom_bytes_state(rng, buf, count);
 	}
 }
 
-static char *generate_random_sgl_divisions(struct test_sg_division *divs,
+static char *generate_random_sgl_divisions(struct rnd_state *rng,
+					   struct test_sg_division *divs,
 					   size_t max_divs, char *p, char *end,
 					   bool gen_flushes, u32 req_flags)
 {
@@ -959,24 +998,26 @@ static char *generate_random_sgl_divisions(struct test_sg_division *divs,
 		unsigned int this_len;
 		const char *flushtype_str;
 
-		if (div == &divs[max_divs - 1] || prandom_u32_max(2) == 0)
+		if (div == &divs[max_divs - 1] || prandom_bool(rng))
 			this_len = remaining;
 		else
-			this_len = 1 + prandom_u32_max(remaining);
+			this_len = prandom_u32_inclusive(rng, 1, remaining);
 		div->proportion_of_total = this_len;
 
-		if (prandom_u32_max(4) == 0)
-			div->offset = (PAGE_SIZE - 128) + prandom_u32_max(128);
-		else if (prandom_u32_max(2) == 0)
-			div->offset = prandom_u32_max(32);
+		if (prandom_u32_below(rng, 4) == 0)
+			div->offset = prandom_u32_inclusive(rng,
+							    PAGE_SIZE - 128,
+							    PAGE_SIZE - 1);
+		else if (prandom_bool(rng))
+			div->offset = prandom_u32_below(rng, 32);
 		else
-			div->offset = prandom_u32_max(PAGE_SIZE);
-		if (prandom_u32_max(8) == 0)
+			div->offset = prandom_u32_below(rng, PAGE_SIZE);
+		if (prandom_u32_below(rng, 8) == 0)
 			div->offset_relative_to_alignmask = true;
 
 		div->flush_type = FLUSH_TYPE_NONE;
 		if (gen_flushes) {
-			switch (prandom_u32_max(4)) {
+			switch (prandom_u32_below(rng, 4)) {
 			case 0:
 				div->flush_type = FLUSH_TYPE_REIMPORT;
 				break;
@@ -988,7 +1029,7 @@ static char *generate_random_sgl_divisions(struct test_sg_division *divs,
 
 		if (div->flush_type != FLUSH_TYPE_NONE &&
 		    !(req_flags & CRYPTO_TFM_REQ_MAY_SLEEP) &&
-		    prandom_u32_max(2) == 0)
+		    prandom_bool(rng))
 			div->nosimd = true;
 
 		switch (div->flush_type) {
@@ -1023,7 +1064,8 @@ static char *generate_random_sgl_divisions(struct test_sg_division *divs,
 }
 
 /* Generate a random testvec_config for fuzz testing */
-static void generate_random_testvec_config(struct testvec_config *cfg,
+static void generate_random_testvec_config(struct rnd_state *rng,
+					   struct testvec_config *cfg,
 					   char *name, size_t max_namelen)
 {
 	char *p = name;
@@ -1035,7 +1077,7 @@ static void generate_random_testvec_config(struct testvec_config *cfg,
 
 	p += scnprintf(p, end - p, "random:");
 
-	switch (prandom_u32_max(4)) {
+	switch (prandom_u32_below(rng, 4)) {
 	case 0:
 	case 1:
 		cfg->inplace_mode = OUT_OF_PLACE;
@@ -1050,12 +1092,12 @@ static void generate_random_testvec_config(struct testvec_config *cfg,
 		break;
 	}
 
-	if (prandom_u32_max(2) == 0) {
+	if (prandom_bool(rng)) {
 		cfg->req_flags |= CRYPTO_TFM_REQ_MAY_SLEEP;
 		p += scnprintf(p, end - p, " may_sleep");
 	}
 
-	switch (prandom_u32_max(4)) {
+	switch (prandom_u32_below(rng, 4)) {
 	case 0:
 		cfg->finalization_type = FINALIZATION_TYPE_FINAL;
 		p += scnprintf(p, end - p, " use_final");
@@ -1070,36 +1112,37 @@ static void generate_random_testvec_config(struct testvec_config *cfg,
 		break;
 	}
 
-	if (!(cfg->req_flags & CRYPTO_TFM_REQ_MAY_SLEEP) &&
-	    prandom_u32_max(2) == 0) {
+	if (!(cfg->req_flags & CRYPTO_TFM_REQ_MAY_SLEEP) && prandom_bool(rng)) {
 		cfg->nosimd = true;
 		p += scnprintf(p, end - p, " nosimd");
 	}
 
 	p += scnprintf(p, end - p, " src_divs=[");
-	p = generate_random_sgl_divisions(cfg->src_divs,
+	p = generate_random_sgl_divisions(rng, cfg->src_divs,
 					  ARRAY_SIZE(cfg->src_divs), p, end,
 					  (cfg->finalization_type !=
 					   FINALIZATION_TYPE_DIGEST),
 					  cfg->req_flags);
 	p += scnprintf(p, end - p, "]");
 
-	if (cfg->inplace_mode == OUT_OF_PLACE && prandom_u32_max(2) == 0) {
+	if (cfg->inplace_mode == OUT_OF_PLACE && prandom_bool(rng)) {
 		p += scnprintf(p, end - p, " dst_divs=[");
-		p = generate_random_sgl_divisions(cfg->dst_divs,
+		p = generate_random_sgl_divisions(rng, cfg->dst_divs,
 						  ARRAY_SIZE(cfg->dst_divs),
 						  p, end, false,
 						  cfg->req_flags);
 		p += scnprintf(p, end - p, "]");
 	}
 
-	if (prandom_u32_max(2) == 0) {
-		cfg->iv_offset = 1 + prandom_u32_max(MAX_ALGAPI_ALIGNMASK);
+	if (prandom_bool(rng)) {
+		cfg->iv_offset = prandom_u32_inclusive(rng, 1,
+						       MAX_ALGAPI_ALIGNMASK);
 		p += scnprintf(p, end - p, " iv_offset=%u", cfg->iv_offset);
 	}
 
-	if (prandom_u32_max(2) == 0) {
-		cfg->key_offset = 1 + prandom_u32_max(MAX_ALGAPI_ALIGNMASK);
+	if (prandom_bool(rng)) {
+		cfg->key_offset = prandom_u32_inclusive(rng, 1,
+							MAX_ALGAPI_ALIGNMASK);
 		p += scnprintf(p, end - p, " key_offset=%u", cfg->key_offset);
 	}
 
@@ -1612,11 +1655,14 @@ static int test_hash_vec(const struct hash_testvec *vec, unsigned int vec_num,
 
 #ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
 	if (!noextratests) {
+		struct rnd_state rng;
 		struct testvec_config cfg;
 		char cfgname[TESTVEC_CONFIG_NAMELEN];
 
+		init_rnd_state(&rng);
+
 		for (i = 0; i < fuzz_iterations; i++) {
-			generate_random_testvec_config(&cfg, cfgname,
+			generate_random_testvec_config(&rng, &cfg, cfgname,
 						       sizeof(cfgname));
 			err = test_hash_vec_cfg(vec, vec_name, &cfg,
 						req, desc, tsgl, hashstate);
@@ -1634,15 +1680,16 @@ static int test_hash_vec(const struct hash_testvec *vec, unsigned int vec_num,
  * Generate a hash test vector from the given implementation.
  * Assumes the buffers in 'vec' were already allocated.
  */
-static void generate_random_hash_testvec(struct shash_desc *desc,
+static void generate_random_hash_testvec(struct rnd_state *rng,
+					 struct shash_desc *desc,
 					 struct hash_testvec *vec,
 					 unsigned int maxkeysize,
 					 unsigned int maxdatasize,
 					 char *name, size_t max_namelen)
 {
 	/* Data */
-	vec->psize = generate_random_length(maxdatasize);
-	generate_random_bytes((u8 *)vec->plaintext, vec->psize);
+	vec->psize = generate_random_length(rng, maxdatasize);
+	generate_random_bytes(rng, (u8 *)vec->plaintext, vec->psize);
 
 	/*
 	 * Key: length in range [1, maxkeysize], but usually choose maxkeysize.
@@ -1652,9 +1699,9 @@ static void generate_random_hash_testvec(struct shash_desc *desc,
 	vec->ksize = 0;
 	if (maxkeysize) {
 		vec->ksize = maxkeysize;
-		if (prandom_u32_max(4) == 0)
-			vec->ksize = 1 + prandom_u32_max(maxkeysize);
-		generate_random_bytes((u8 *)vec->key, vec->ksize);
+		if (prandom_u32_below(rng, 4) == 0)
+			vec->ksize = prandom_u32_inclusive(rng, 1, maxkeysize);
+		generate_random_bytes(rng, (u8 *)vec->key, vec->ksize);
 
 		vec->setkey_error = crypto_shash_setkey(desc->tfm, vec->key,
 							vec->ksize);
@@ -1688,6 +1735,7 @@ static int test_hash_vs_generic_impl(const char *generic_driver,
 	const unsigned int maxdatasize = (2 * PAGE_SIZE) - TESTMGR_POISON_LEN;
 	const char *algname = crypto_hash_alg_common(tfm)->base.cra_name;
 	const char *driver = crypto_ahash_driver_name(tfm);
+	struct rnd_state rng;
 	char _generic_driver[CRYPTO_MAX_ALG_NAME];
 	struct crypto_shash *generic_tfm = NULL;
 	struct shash_desc *generic_desc = NULL;
@@ -1701,6 +1749,8 @@ static int test_hash_vs_generic_impl(const char *generic_driver,
 	if (noextratests)
 		return 0;
 
+	init_rnd_state(&rng);
+
 	if (!generic_driver) { /* Use default naming convention? */
 		err = build_generic_driver_name(algname, _generic_driver);
 		if (err)
@@ -1769,10 +1819,11 @@ static int test_hash_vs_generic_impl(const char *generic_driver,
 	}
 
 	for (i = 0; i < fuzz_iterations * 8; i++) {
-		generate_random_hash_testvec(generic_desc, &vec,
+		generate_random_hash_testvec(&rng, generic_desc, &vec,
 					     maxkeysize, maxdatasize,
 					     vec_name, sizeof(vec_name));
-		generate_random_testvec_config(cfg, cfgname, sizeof(cfgname));
+		generate_random_testvec_config(&rng, cfg, cfgname,
+					       sizeof(cfgname));
 
 		err = test_hash_vec_cfg(&vec, vec_name, cfg,
 					req, desc, tsgl, hashstate);
@@ -2174,11 +2225,14 @@ static int test_aead_vec(int enc, const struct aead_testvec *vec,
 
 #ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
 	if (!noextratests) {
+		struct rnd_state rng;
 		struct testvec_config cfg;
 		char cfgname[TESTVEC_CONFIG_NAMELEN];
 
+		init_rnd_state(&rng);
+
 		for (i = 0; i < fuzz_iterations; i++) {
-			generate_random_testvec_config(&cfg, cfgname,
+			generate_random_testvec_config(&rng, &cfg, cfgname,
 						       sizeof(cfgname));
 			err = test_aead_vec_cfg(enc, vec, vec_name,
 						&cfg, req, tsgls);
@@ -2194,6 +2248,7 @@ static int test_aead_vec(int enc, const struct aead_testvec *vec,
 #ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
 
 struct aead_extra_tests_ctx {
+	struct rnd_state rng;
 	struct aead_request *req;
 	struct crypto_aead *tfm;
 	const struct alg_test_desc *test_desc;
@@ -2212,24 +2267,26 @@ struct aead_extra_tests_ctx {
  * here means the full ciphertext including the authentication tag.  The
  * authentication tag (and hence also the ciphertext) is assumed to be nonempty.
  */
-static void mutate_aead_message(struct aead_testvec *vec, bool aad_iv,
+static void mutate_aead_message(struct rnd_state *rng,
+				struct aead_testvec *vec, bool aad_iv,
 				unsigned int ivsize)
 {
 	const unsigned int aad_tail_size = aad_iv ? ivsize : 0;
 	const unsigned int authsize = vec->clen - vec->plen;
 
-	if (prandom_u32_max(2) == 0 && vec->alen > aad_tail_size) {
+	if (prandom_bool(rng) && vec->alen > aad_tail_size) {
 		 /* Mutate the AAD */
-		flip_random_bit((u8 *)vec->assoc, vec->alen - aad_tail_size);
-		if (prandom_u32_max(2) == 0)
+		flip_random_bit(rng, (u8 *)vec->assoc,
+				vec->alen - aad_tail_size);
+		if (prandom_bool(rng))
 			return;
 	}
-	if (prandom_u32_max(2) == 0) {
+	if (prandom_bool(rng)) {
 		/* Mutate auth tag (assuming it's at the end of ciphertext) */
-		flip_random_bit((u8 *)vec->ctext + vec->plen, authsize);
+		flip_random_bit(rng, (u8 *)vec->ctext + vec->plen, authsize);
 	} else {
 		/* Mutate any part of the ciphertext */
-		flip_random_bit((u8 *)vec->ctext, vec->clen);
+		flip_random_bit(rng, (u8 *)vec->ctext, vec->clen);
 	}
 }
 
@@ -2240,7 +2297,8 @@ static void mutate_aead_message(struct aead_testvec *vec, bool aad_iv,
  */
 #define MIN_COLLISION_FREE_AUTHSIZE 8
 
-static void generate_aead_message(struct aead_request *req,
+static void generate_aead_message(struct rnd_state *rng,
+				  struct aead_request *req,
 				  const struct aead_test_suite *suite,
 				  struct aead_testvec *vec,
 				  bool prefer_inauthentic)
@@ -2249,17 +2307,18 @@ static void generate_aead_message(struct aead_request *req,
 	const unsigned int ivsize = crypto_aead_ivsize(tfm);
 	const unsigned int authsize = vec->clen - vec->plen;
 	const bool inauthentic = (authsize >= MIN_COLLISION_FREE_AUTHSIZE) &&
-				 (prefer_inauthentic || prandom_u32_max(4) == 0);
+				 (prefer_inauthentic ||
+				  prandom_u32_below(rng, 4) == 0);
 
 	/* Generate the AAD. */
-	generate_random_bytes((u8 *)vec->assoc, vec->alen);
+	generate_random_bytes(rng, (u8 *)vec->assoc, vec->alen);
 	if (suite->aad_iv && vec->alen >= ivsize)
 		/* Avoid implementation-defined behavior. */
 		memcpy((u8 *)vec->assoc + vec->alen - ivsize, vec->iv, ivsize);
 
-	if (inauthentic && prandom_u32_max(2) == 0) {
+	if (inauthentic && prandom_bool(rng)) {
 		/* Generate a random ciphertext. */
-		generate_random_bytes((u8 *)vec->ctext, vec->clen);
+		generate_random_bytes(rng, (u8 *)vec->ctext, vec->clen);
 	} else {
 		int i = 0;
 		struct scatterlist src[2], dst;
@@ -2271,7 +2330,7 @@ static void generate_aead_message(struct aead_request *req,
 		if (vec->alen)
 			sg_set_buf(&src[i++], vec->assoc, vec->alen);
 		if (vec->plen) {
-			generate_random_bytes((u8 *)vec->ptext, vec->plen);
+			generate_random_bytes(rng, (u8 *)vec->ptext, vec->plen);
 			sg_set_buf(&src[i++], vec->ptext, vec->plen);
 		}
 		sg_init_one(&dst, vec->ctext, vec->alen + vec->clen);
@@ -2291,7 +2350,7 @@ static void generate_aead_message(struct aead_request *req,
 		 * Mutate the authentic (ciphertext, AAD) pair to get an
 		 * inauthentic one.
 		 */
-		mutate_aead_message(vec, suite->aad_iv, ivsize);
+		mutate_aead_message(rng, vec, suite->aad_iv, ivsize);
 	}
 	vec->novrfy = 1;
 	if (suite->einval_allowed)
@@ -2305,7 +2364,8 @@ static void generate_aead_message(struct aead_request *req,
  * If 'prefer_inauthentic' is true, then this function will generate inauthentic
  * test vectors (i.e. vectors with 'vec->novrfy=1') more often.
  */
-static void generate_random_aead_testvec(struct aead_request *req,
+static void generate_random_aead_testvec(struct rnd_state *rng,
+					 struct aead_request *req,
 					 struct aead_testvec *vec,
 					 const struct aead_test_suite *suite,
 					 unsigned int maxkeysize,
@@ -2321,18 +2381,18 @@ static void generate_random_aead_testvec(struct aead_request *req,
 
 	/* Key: length in [0, maxkeysize], but usually choose maxkeysize */
 	vec->klen = maxkeysize;
-	if (prandom_u32_max(4) == 0)
-		vec->klen = prandom_u32_max(maxkeysize + 1);
-	generate_random_bytes((u8 *)vec->key, vec->klen);
+	if (prandom_u32_below(rng, 4) == 0)
+		vec->klen = prandom_u32_below(rng, maxkeysize + 1);
+	generate_random_bytes(rng, (u8 *)vec->key, vec->klen);
 	vec->setkey_error = crypto_aead_setkey(tfm, vec->key, vec->klen);
 
 	/* IV */
-	generate_random_bytes((u8 *)vec->iv, ivsize);
+	generate_random_bytes(rng, (u8 *)vec->iv, ivsize);
 
 	/* Tag length: in [0, maxauthsize], but usually choose maxauthsize */
 	authsize = maxauthsize;
-	if (prandom_u32_max(4) == 0)
-		authsize = prandom_u32_max(maxauthsize + 1);
+	if (prandom_u32_below(rng, 4) == 0)
+		authsize = prandom_u32_below(rng, maxauthsize + 1);
 	if (prefer_inauthentic && authsize < MIN_COLLISION_FREE_AUTHSIZE)
 		authsize = MIN_COLLISION_FREE_AUTHSIZE;
 	if (WARN_ON(authsize > maxdatasize))
@@ -2341,11 +2401,11 @@ static void generate_random_aead_testvec(struct aead_request *req,
 	vec->setauthsize_error = crypto_aead_setauthsize(tfm, authsize);
 
 	/* AAD, plaintext, and ciphertext lengths */
-	total_len = generate_random_length(maxdatasize);
-	if (prandom_u32_max(4) == 0)
+	total_len = generate_random_length(rng, maxdatasize);
+	if (prandom_u32_below(rng, 4) == 0)
 		vec->alen = 0;
 	else
-		vec->alen = generate_random_length(total_len);
+		vec->alen = generate_random_length(rng, total_len);
 	vec->plen = total_len - vec->alen;
 	vec->clen = vec->plen + authsize;
 
@@ -2356,7 +2416,7 @@ static void generate_random_aead_testvec(struct aead_request *req,
 	vec->novrfy = 0;
 	vec->crypt_error = 0;
 	if (vec->setkey_error == 0 && vec->setauthsize_error == 0)
-		generate_aead_message(req, suite, vec, prefer_inauthentic);
+		generate_aead_message(rng, req, suite, vec, prefer_inauthentic);
 	snprintf(name, max_namelen,
 		 "\"random: alen=%u plen=%u authsize=%u klen=%u novrfy=%d\"",
 		 vec->alen, vec->plen, authsize, vec->klen, vec->novrfy);
@@ -2368,7 +2428,7 @@ static void try_to_generate_inauthentic_testvec(
 	int i;
 
 	for (i = 0; i < 10; i++) {
-		generate_random_aead_testvec(ctx->req, &ctx->vec,
+		generate_random_aead_testvec(&ctx->rng, ctx->req, &ctx->vec,
 					     &ctx->test_desc->suite.aead,
 					     ctx->maxkeysize, ctx->maxdatasize,
 					     ctx->vec_name,
@@ -2399,7 +2459,8 @@ static int test_aead_inauthentic_inputs(struct aead_extra_tests_ctx *ctx)
 		 */
 		try_to_generate_inauthentic_testvec(ctx);
 		if (ctx->vec.novrfy) {
-			generate_random_testvec_config(&ctx->cfg, ctx->cfgname,
+			generate_random_testvec_config(&ctx->rng, &ctx->cfg,
+						       ctx->cfgname,
 						       sizeof(ctx->cfgname));
 			err = test_aead_vec_cfg(DECRYPT, &ctx->vec,
 						ctx->vec_name, &ctx->cfg,
@@ -2489,12 +2550,13 @@ static int test_aead_vs_generic_impl(struct aead_extra_tests_ctx *ctx)
 	 * the other implementation against them.
 	 */
 	for (i = 0; i < fuzz_iterations * 8; i++) {
-		generate_random_aead_testvec(generic_req, &ctx->vec,
+		generate_random_aead_testvec(&ctx->rng, generic_req, &ctx->vec,
 					     &ctx->test_desc->suite.aead,
 					     ctx->maxkeysize, ctx->maxdatasize,
 					     ctx->vec_name,
 					     sizeof(ctx->vec_name), false);
-		generate_random_testvec_config(&ctx->cfg, ctx->cfgname,
+		generate_random_testvec_config(&ctx->rng, &ctx->cfg,
+					       ctx->cfgname,
 					       sizeof(ctx->cfgname));
 		if (!ctx->vec.novrfy) {
 			err = test_aead_vec_cfg(ENCRYPT, &ctx->vec,
@@ -2533,6 +2595,7 @@ static int test_aead_extra(const struct alg_test_desc *test_desc,
 	ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
 		return -ENOMEM;
+	init_rnd_state(&ctx->rng);
 	ctx->req = req;
 	ctx->tfm = crypto_aead_reqtfm(req);
 	ctx->test_desc = test_desc;
@@ -2922,11 +2985,14 @@ static int test_skcipher_vec(int enc, const struct cipher_testvec *vec,
 
 #ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
 	if (!noextratests) {
+		struct rnd_state rng;
 		struct testvec_config cfg;
 		char cfgname[TESTVEC_CONFIG_NAMELEN];
 
+		init_rnd_state(&rng);
+
 		for (i = 0; i < fuzz_iterations; i++) {
-			generate_random_testvec_config(&cfg, cfgname,
+			generate_random_testvec_config(&rng, &cfg, cfgname,
 						       sizeof(cfgname));
 			err = test_skcipher_vec_cfg(enc, vec, vec_name,
 						    &cfg, req, tsgls);
@@ -2944,7 +3010,8 @@ static int test_skcipher_vec(int enc, const struct cipher_testvec *vec,
  * Generate a symmetric cipher test vector from the given implementation.
  * Assumes the buffers in 'vec' were already allocated.
  */
-static void generate_random_cipher_testvec(struct skcipher_request *req,
+static void generate_random_cipher_testvec(struct rnd_state *rng,
+					   struct skcipher_request *req,
 					   struct cipher_testvec *vec,
 					   unsigned int maxdatasize,
 					   char *name, size_t max_namelen)
@@ -2958,17 +3025,17 @@ static void generate_random_cipher_testvec(struct skcipher_request *req,
 
 	/* Key: length in [0, maxkeysize], but usually choose maxkeysize */
 	vec->klen = maxkeysize;
-	if (prandom_u32_max(4) == 0)
-		vec->klen = prandom_u32_max(maxkeysize + 1);
-	generate_random_bytes((u8 *)vec->key, vec->klen);
+	if (prandom_u32_below(rng, 4) == 0)
+		vec->klen = prandom_u32_below(rng, maxkeysize + 1);
+	generate_random_bytes(rng, (u8 *)vec->key, vec->klen);
 	vec->setkey_error = crypto_skcipher_setkey(tfm, vec->key, vec->klen);
 
 	/* IV */
-	generate_random_bytes((u8 *)vec->iv, ivsize);
+	generate_random_bytes(rng, (u8 *)vec->iv, ivsize);
 
 	/* Plaintext */
-	vec->len = generate_random_length(maxdatasize);
-	generate_random_bytes((u8 *)vec->ptext, vec->len);
+	vec->len = generate_random_length(rng, maxdatasize);
+	generate_random_bytes(rng, (u8 *)vec->ptext, vec->len);
 
 	/* If the key couldn't be set, no need to continue to encrypt. */
 	if (vec->setkey_error)
@@ -3010,6 +3077,7 @@ static int test_skcipher_vs_generic_impl(const char *generic_driver,
 	const unsigned int maxdatasize = (2 * PAGE_SIZE) - TESTMGR_POISON_LEN;
 	const char *algname = crypto_skcipher_alg(tfm)->base.cra_name;
 	const char *driver = crypto_skcipher_driver_name(tfm);
+	struct rnd_state rng;
 	char _generic_driver[CRYPTO_MAX_ALG_NAME];
 	struct crypto_skcipher *generic_tfm = NULL;
 	struct skcipher_request *generic_req = NULL;
@@ -3027,6 +3095,8 @@ static int test_skcipher_vs_generic_impl(const char *generic_driver,
 	if (strncmp(algname, "kw(", 3) == 0)
 		return 0;
 
+	init_rnd_state(&rng);
+
 	if (!generic_driver) { /* Use default naming convention? */
 		err = build_generic_driver_name(algname, _generic_driver);
 		if (err)
@@ -3111,9 +3181,11 @@ static int test_skcipher_vs_generic_impl(const char *generic_driver,
 	}
 
 	for (i = 0; i < fuzz_iterations * 8; i++) {
-		generate_random_cipher_testvec(generic_req, &vec, maxdatasize,
+		generate_random_cipher_testvec(&rng, generic_req, &vec,
+					       maxdatasize,
 					       vec_name, sizeof(vec_name));
-		generate_random_testvec_config(cfg, cfgname, sizeof(cfgname));
+		generate_random_testvec_config(&rng, cfg, cfgname,
+					       sizeof(cfgname));
 
 		err = test_skcipher_vec_cfg(ENCRYPT, &vec, vec_name,
 					    cfg, req, tsgls);
-- 
2.39.2




  parent reply	other threads:[~2023-05-22 19:36 UTC|newest]

Thread overview: 309+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-22 19:05 [PATCH 6.1 000/292] 6.1.30-rc1 review Greg Kroah-Hartman
2023-05-22 19:05 ` [PATCH 6.1 001/292] drm/fbdev-generic: prohibit potential out-of-bounds access Greg Kroah-Hartman
2023-05-22 19:05 ` [PATCH 6.1 002/292] drm/mipi-dsi: Set the fwnode for mipi_dsi_device Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 003/292] ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 004/292] net: skb_partial_csum_set() fix against transport header magic value Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 005/292] net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 006/292] scsi: ufs: core: Fix I/O hang that occurs when BKOPS fails in W-LUN suspend Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 007/292] tick/broadcast: Make broadcast device replacement work correctly Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 008/292] linux/dim: Do nothing if no time delta between samples Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 009/292] net: stmmac: Initialize MAC_ONEUS_TIC_COUNTER register Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 010/292] net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 011/292] net: phy: bcm7xx: Correct read from expansion register Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 012/292] netfilter: nf_tables: always release netdev hooks from notifier Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 013/292] netfilter: conntrack: fix possible bug_on with enable_hooks=1 Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 014/292] bonding: fix send_peer_notif overflow Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 015/292] netlink: annotate accesses to nlk->cb_running Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 016/292] net: annotate sk->sk_err write from do_recvmmsg() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 017/292] net: deal with most data-races in sk_wait_event() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 018/292] net: add vlan_get_protocol_and_depth() helper Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 019/292] tcp: add annotations around sk->sk_shutdown accesses Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 020/292] gve: Remove the code of clearing PBA bit Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 021/292] ipvlan:Fix out-of-bounds caused by unclear skb->cb Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 022/292] net: mscc: ocelot: fix stat counter register values Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 023/292] net: datagram: fix data-races in datagram_poll() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 024/292] af_unix: Fix a data race of sk->sk_receive_queue->qlen Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 025/292] af_unix: Fix data races around sk->sk_shutdown Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 026/292] drm/i915/guc: Dont capture Gen8 regs on Xe devices Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 027/292] drm/i915: Fix NULL ptr deref by checking new_crtc_state Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 028/292] drm/i915/dp: prevent potential div-by-zero Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 029/292] drm/i915: Expand force_probe to block probe of devices as well Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 030/292] drm/i915: taint kernel when force probing unsupported devices Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 031/292] fbdev: arcfb: Fix error handling in arcfb_probe() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 032/292] ext4: reflect error codes from ext4_multi_mount_protect() to its callers Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 033/292] ext4: dont clear SB_RDONLY when remounting r/w until quota is re-enabled Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 034/292] ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 035/292] ext4: allow ext4_get_group_info() to fail Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 036/292] refscale: Move shutdown from wait_event() to wait_event_idle() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 037/292] selftests: cgroup: Add malloc failures checks in test_memcontrol Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 038/292] rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 039/292] open: return EINVAL for O_DIRECTORY | O_CREAT Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 040/292] fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 041/292] drm/displayid: add displayid_get_header() and check bounds better Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 042/292] drm/amd/display: populate subvp cmd info only for the top pipe Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 043/292] drm/amd/display: Correct DML calculation to align HW formula Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 044/292] platform/x86: x86-android-tablets: Add Acer Iconia One 7 B1-750 data Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 045/292] drm/amd/display: Enable HostVM based on rIOMMU active Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 046/292] drm/amd/display: Use DC_LOG_DC in the trasform pixel function Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 047/292] regmap: cache: Return error in cache sync operations for REGCACHE_NONE Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 048/292] remoteproc: imx_dsp_rproc: Add custom memory copy implementation for i.MX DSP Cores Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 049/292] arm64: dts: qcom: msm8996: Add missing DWC3 quirks Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 050/292] media: cx23885: Fix a null-ptr-deref bug in buffer_prepare() and buffer_finish() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 051/292] media: pci: tw68: Fix null-ptr-deref bug in buf prepare and finish Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 052/292] media: pvrusb2: VIDEO_PVRUSB2 depends on DVB_CORE to use dvb_* symbols Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 053/292] ACPI: processor: Check for null return of devm_kzalloc() in fch_misc_setup() Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 054/292] drm/rockchip: dw_hdmi: cleanup drm encoder during unbind Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 055/292] memstick: r592: Fix UAF bug in r592_remove due to race condition Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 056/292] arm64: dts: imx8mq-librem5: Remove dis_u3_susphy_quirk from usb_dwc3_0 Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 057/292] firmware: arm_sdei: Fix sleep from invalid context BUG Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 058/292] ACPI: EC: Fix oops when removing custom query handlers Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 059/292] drm/amd/display: fixed dcn30+ underflow issue Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 060/292] remoteproc: stm32_rproc: Add mutex protection for workqueue Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 061/292] drm/tegra: Avoid potential 32-bit integer overflow Greg Kroah-Hartman
2023-05-22 19:06 ` [PATCH 6.1 062/292] drm/msm/dp: Clean up handling of DP AUX interrupts Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 063/292] ACPICA: Avoid undefined behavior: applying zero offset to null pointer Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 064/292] ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 065/292] arm64: dts: qcom: sdm845-polaris: Drop inexistent properties Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 066/292] irqchip/gicv3: Workaround for NVIDIA erratum T241-FABRIC-4 Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 067/292] ACPI: video: Remove desktops without backlight DMI quirks Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 068/292] drm/amd/display: Correct DML calculation to follow HW SPEC Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 069/292] drm/amd: Fix an out of bounds error in BIOS parser Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 070/292] drm/amdgpu: Fix sdma v4 sw fini error Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 071/292] media: Prefer designated initializers over memset for subdev pad ops Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 072/292] media: mediatek: vcodec: Fix potential array out-of-bounds in decoder queue_setup Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 073/292] wifi: ath: Silence memcpy run-time false positive warning Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 074/292] bpf: Annotate data races in bpf_local_storage Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 075/292] wifi: brcmfmac: pcie: Provide a buffer of random bytes to the device Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 076/292] wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 077/292] ext2: Check block size validity during mount Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 078/292] scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 079/292] scsi: lpfc: Correct used_rpi count when devloss tmo fires with no recovery Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 080/292] bnxt: avoid overflow in bnxt_get_nvram_directory() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 081/292] net: pasemi: Fix return type of pasemi_mac_start_tx() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 082/292] net: Catch invalid index in XPS mapping Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 083/292] netdev: Enforce index cap in netdev_get_tx_queue Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 084/292] scsi: target: iscsit: Free cmds before session free Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 085/292] lib: cpu_rmap: Avoid use after free on rmap->obj array entries Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 086/292] scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 087/292] gfs2: Fix inode height consistency check Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 088/292] scsi: ufs: ufs-pci: Add support for Intel Lunar Lake Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 089/292] ext4: set goal start correctly in ext4_mb_normalize_request Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 090/292] ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 091/292] crypto: jitter - permanent and intermittent health errors Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 092/292] f2fs: Fix system crash due to lack of free space in LFS Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 093/292] f2fs: fix to drop all dirty pages during umount() if cp_error is set Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 094/292] f2fs: fix to check readonly condition correctly Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 095/292] samples/bpf: Fix fout leak in hbms run_bpf_prog Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 096/292] bpf: Add preempt_count_{sub,add} into btf id deny list Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 097/292] md: fix soft lockup in status_resync Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 098/292] wifi: iwlwifi: pcie: fix possible NULL pointer dereference Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 099/292] wifi: iwlwifi: add a new PCI device ID for BZ device Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 100/292] wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 101/292] wifi: iwlwifi: mvm: fix ptk_pn memory leak Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 102/292] block, bfq: Fix division by zero error on zero wsum Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 103/292] wifi: ath11k: Ignore frags from uninitialized peer in dp Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 104/292] wifi: iwlwifi: fix iwl_mvm_max_amsdu_size() for MLO Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 105/292] null_blk: Always check queue mode setting from configfs Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 106/292] wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 107/292] wifi: ath11k: Fix SKB corruption in REO destination ring Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 108/292] nbd: fix incomplete validation of ioctl arg Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 109/292] ipvs: Update width of source for ip_vs_sync_conn_options Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 110/292] Bluetooth: btusb: Add new PID/VID 04ca:3801 for MT7663 Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 111/292] Bluetooth: Add new quirk for broken local ext features page 2 Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 112/292] Bluetooth: btrtl: add support for the RTL8723CS Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 113/292] Bluetooth: Improve support for Actions Semi ATS2851 based devices Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 114/292] Bluetooth: btrtl: check for NULL in btrtl_set_quirks() Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 115/292] Bluetooth: btintel: Add LE States quirk support Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 116/292] Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 117/292] Bluetooth: Add new quirk for broken set random RPA timeout for ATS2851 Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 118/292] Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 119/292] Bluetooth: btrtl: Add the support for RTL8851B Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 120/292] staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 121/292] HID: apple: Set the tilde quirk flag on the Geyser 4 and later Greg Kroah-Hartman
2023-05-22 19:07 ` [PATCH 6.1 122/292] staging: axis-fifo: initialize timeouts in init only Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 123/292] ASoC: amd: yc: Add DMI entries to support HP OMEN 16-n0xxx (8A42) Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 124/292] HID: logitech-hidpp: Dont use the USB serial for USB devices Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 125/292] HID: logitech-hidpp: Reconcile USB and Unifying serials Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 126/292] spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3 Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 127/292] usb: typec: ucsi: acpi: add quirk for ASUS Zenbook UM325 Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 128/292] ALSA: hda: LNL: add HD Audio PCI ID Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 129/292] ASoC: amd: Add Dell G15 5525 to quirks list Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 130/292] ASoC: amd: yc: Add ThinkBook 14 G5+ ARP to quirks list for acp6x Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 131/292] HID: apple: Set the tilde quirk flag on the Geyser 3 Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 132/292] HID: Ignore battery for ELAN touchscreen on ROG Flow X13 GV301RA Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 133/292] HID: wacom: generic: Set battery quirk only when we see battery data Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 134/292] usb: typec: tcpm: fix multiple times discover svids error Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 135/292] serial: 8250: Reinit port->pm on port specific driver unbind Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 136/292] mcb-pci: Reallocate memory region to avoid memory overlapping Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 137/292] sched: Fix KCSAN noinstr violation Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 138/292] lkdtm/stackleak: Fix " Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 139/292] recordmcount: Fix memory leaks in the uwrite function Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 140/292] soundwire: dmi-quirks: add remapping for Intel Rooks County NUC M15 Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 141/292] phy: st: miphy28lp: use _poll_timeout functions for waits Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 142/292] soundwire: qcom: gracefully handle too many ports in DT Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 143/292] soundwire: bus: Fix unbalanced pm_runtime_put() causing usage count underflow Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 144/292] mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Book X90F to intel_cht_wc_models Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 145/292] mfd: dln2: Fix memory leak in dln2_probe() Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 146/292] mfd: intel-lpss: Add Intel Meteor Lake PCH-S LPSS PCI IDs Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 147/292] parisc: Replace regular spinlock with spin_trylock on panic path Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 148/292] platform/x86: Move existing HP drivers to a new hp subdir Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 149/292] platform/x86: hp-wmi: add micmute to hp_wmi_keymap struct Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 150/292] drm/amdgpu: drop gfx_v11_0_cp_ecc_error_irq_funcs Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 151/292] xfrm: dont check the default policy if the policy allows the packet Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 152/292] Revert "Fix XFRM-I support for nested ESP tunnels" Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 153/292] drm/msm/dp: unregister audio driver during unbind Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 154/292] drm/msm/dpu: Assign missing writeback log_mask Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 155/292] drm/msm/dpu: Move non-MDP_TOP INTF_INTR offsets out of hwio header Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 156/292] drm/msm/dpu: Remove duplicate register defines from INTF Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 157/292] dt-bindings: display/msm: dsi-controller-main: Document qcom, master-dsi and qcom, sync-dual-dsi Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 158/292] platform: Provide a remove callback that returns no value Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 159/292] ASoC: fsl_micfil: Fix error handler with pm_runtime_enable Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 160/292] cpupower: Make TSC read per CPU for Mperf monitor Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 161/292] xfrm: Reject optional tunnel/BEET mode templates in outbound policies Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 162/292] af_key: " Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 163/292] drm/msm: Fix submit error-path leaks Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 164/292] selftests: seg6: disable DAD on IPv6 router cfg for srv6_end_dt4_l3vpn_test Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 165/292] selftets: seg6: disable rp_filter by default in srv6_end_dt4_l3vpn_test Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 166/292] net: fec: Better handle pm_runtime_get() failing in .remove() Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 167/292] net: phy: dp83867: add w/a for packet errors seen with short cables Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 168/292] ALSA: firewire-digi00x: prevent potential use after free Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 169/292] wifi: mt76: connac: fix stats->tx_bytes calculation Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 170/292] ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15 Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 171/292] sfc: disable RXFCS and RXALL features by default Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 172/292] vsock: avoid to close connected socket after the timeout Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 173/292] tcp: fix possible sk_priority leak in tcp_v4_send_reset() Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 174/292] serial: arc_uart: fix of_iomap leak in `arc_serial_probe` Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 175/292] serial: 8250_bcm7271: balance clk_enable calls Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 176/292] serial: 8250_bcm7271: fix leak in `brcmuart_probe` Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 177/292] erspan: get the proto with the md version for collect_md Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 178/292] net: dsa: rzn1-a5psw: enable management frames for CPU port Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 179/292] net: dsa: rzn1-a5psw: fix STP states handling Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 180/292] net: dsa: rzn1-a5psw: disable learning for standalone ports Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 181/292] net: hns3: fix output information incomplete for dumping tx queue info with debugfs Greg Kroah-Hartman
2023-05-22 19:08 ` [PATCH 6.1 182/292] net: hns3: fix sending pfc frames after reset issue Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 183/292] net: hns3: fix reset delay time to avoid configuration timeout Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 184/292] net: hns3: fix reset timeout when enable full VF Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 185/292] media: netup_unidvb: fix use-after-free at del_timer() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 186/292] SUNRPC: double free xprt_ctxt while still in use Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 187/292] SUNRPC: always free ctxt when freeing deferred request Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 188/292] SUNRPC: Fix trace_svc_register() call site Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 189/292] ASoC: mediatek: mt8186: Fix use-after-free in driver remove path Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 190/292] ASoC: SOF: topology: Fix logic for copying tuples Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 191/292] drm/exynos: fix g2d_open/close helper function definitions Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 192/292] net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 193/292] virtio-net: Maintain reverse cleanup order Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 194/292] virtio_net: Fix error unwinding of XDP initialization Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 195/292] tipc: add tipc_bearer_min_mtu to calculate min mtu Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 196/292] tipc: do not update mtu if msg_max is too small in mtu negotiation Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 197/292] tipc: check the bearer min mtu properly when setting it by netlink Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 198/292] s390/cio: include subchannels without devices also for evaluation Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 199/292] can: dev: fix missing CAN XL support in can_put_echo_skb() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 200/292] net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 201/292] net: bcmgenet: Restore phy_stop() depending upon suspend/close Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 202/292] ice: introduce clear_reset_state operation Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 203/292] ice: Fix ice VF reset during iavf initialization Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 204/292] wifi: cfg80211: Drop entries with invalid BSSIDs in RNR Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 205/292] wifi: mac80211: fortify the spinlock against deadlock by interrupt Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 206/292] wifi: mac80211: fix min center freq offset tracing Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 207/292] wifi: mac80211: Abort running color change when stopping the AP Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 208/292] wifi: iwlwifi: mvm: fix cancel_delayed_work_sync() deadlock Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 209/292] wifi: iwlwifi: fw: fix DBGI dump Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 210/292] wifi: iwlwifi: fix OEMs name in the ppag approved list Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 211/292] wifi: iwlwifi: mvm: fix OEMs name in the tas " Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 212/292] wifi: iwlwifi: mvm: dont trust firmware n_channels Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 213/292] scsi: storvsc: Dont pass unused PFNs to Hyper-V host Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 214/292] net: tun: rebuild error handling in tun_get_user Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 215/292] tun: Fix memory leak for detached NAPI queue Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 216/292] cassini: Fix a memory leak in the error handling path of cas_init_one() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 217/292] net: dsa: mv88e6xxx: Fix mv88e6393x EPC write command offset Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 218/292] igb: fix bit_shift to be in [1..8] range Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 219/292] vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 220/292] net: wwan: iosm: fix NULL pointer dereference when removing device Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 221/292] net: pcs: xpcs: fix C73 AN not getting enabled Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 222/292] net: selftests: Fix optstring Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 223/292] netfilter: nf_tables: fix nft_trans type confusion Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 224/292] netfilter: nft_set_rbtree: fix null deref on element insertion Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 225/292] bridge: always declare tunnel functions Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 226/292] ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 227/292] USB: usbtmc: Fix direction for 0-length ioctl control messages Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 228/292] usb-storage: fix deadlock when a scsi command timeouts more than once Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 229/292] USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 230/292] usb: dwc3: gadget: Improve dwc3_gadget_suspend() and dwc3_gadget_resume() Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 231/292] usb: dwc3: debugfs: Resume dwc3 before accessing registers Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 232/292] usb: gadget: u_ether: Fix host MAC address case Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 233/292] usb: typec: altmodes/displayport: fix pin_assignment_show Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 234/292] Revert "usb: gadget: udc: core: Prevent redundant calls to pullup" Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 235/292] Revert "usb: gadget: udc: core: Invoke usb_gadget_connect only when started" Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 236/292] xhci-pci: Only run d3cold avoidance quirk for s2idle Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 237/292] xhci: Fix incorrect tracking of free space on transfer rings Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 238/292] ALSA: hda: Fix Oops by 9.1 surround channel names Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 239/292] ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 240/292] ALSA: hda/realtek: Add quirk for Clevo L140AU Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 241/292] ALSA: hda/realtek: Add a quirk for HP EliteDesk 805 Greg Kroah-Hartman
2023-05-22 19:09 ` [PATCH 6.1 242/292] ALSA: hda/realtek: Add quirk for 2nd ASUS GU603 Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 243/292] ALSA: hda/realtek: Add quirk for HP EliteBook G10 laptops Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 244/292] ALSA: hda/realtek: Fix mute and micmute LEDs for yet another HP laptop Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 245/292] can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 246/292] can: isotp: " Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 247/292] can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop() Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 248/292] can: kvaser_pciefd: Call request_irq() before enabling interrupts Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 249/292] can: kvaser_pciefd: Empty SRB buffer in probe Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 250/292] can: kvaser_pciefd: Clear listen-only bit if not explicitly requested Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 251/292] can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 252/292] can: kvaser_pciefd: Disable interrupts in probe error path Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 253/292] wifi: rtw88: use work to update rate to avoid RCU warning Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 254/292] SMB3: Close all deferred handles of inode in case of handle lease break Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 255/292] SMB3: drop reference to cfile before sending oplock break Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 256/292] ksmbd: smb2: Allow messages padded to 8byte boundary Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 257/292] ksmbd: allocate one more byte for implied bcc[0] Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 258/292] ksmbd: fix wrong UserName check in session_user Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 259/292] ksmbd: fix global-out-of-bounds in smb2_find_context_vals Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 260/292] KVM: Fix vcpu_array[0] races Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 261/292] statfs: enforce statfs[64] structure initialization Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 262/292] maple_tree: make maple state reusable after mas_empty_area() Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 263/292] mm: fix zswap writeback race condition Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 264/292] serial: Add support for Advantech PCI-1611U card Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 265/292] serial: 8250_exar: Add support for USR298x PCI Modems Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 266/292] serial: qcom-geni: fix enabling deactivated interrupt Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 267/292] thunderbolt: Clear registers properly when auto clear isnt in use Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 268/292] vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 269/292] ceph: force updating the msg pointer in non-split case Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 270/292] drm/amd/pm: fix possible power mode mismatch between driver and PMFW Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 271/292] drm/amdgpu/gmc11: implement get_vbios_fb_size() Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 272/292] drm/amdgpu/gfx10: Disable gfxoff before disabling powergating Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 273/292] drm/amdgpu/gfx11: Adjust gfxoff before powergating on gfx11 as well Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 274/292] drm/amdgpu: refine get gpu clock counter method Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 275/292] drm/amdgpu/gfx11: update gpu_clock_counter logic Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 276/292] dt-bindings: ata: ahci-ceva: Cover all 4 iommus entries Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 277/292] powerpc/iommu: DMA address offset is incorrectly calculated with 2MB TCEs Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 278/292] powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 279/292] tpm/tpm_tis: Disable interrupts for more Lenovo devices Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 280/292] powerpc/64s/radix: Fix soft dirty tracking Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 281/292] nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode() Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 282/292] s390/dasd: fix command reject error on ESE devices Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 283/292] s390/crypto: use vector instructions only if available for ChaCha20 Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 284/292] s390/qdio: fix do_sqbs() inline assembly constraint Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 285/292] arm64: mte: Do not set PG_mte_tagged if tags were not initialized Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 286/292] rethook: use preempt_{disable, enable}_notrace in rethook_trampoline_handler Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 287/292] rethook, fprobe: do not trace rethook related functions Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 288/292] remoteproc: imx_dsp_rproc: Fix kernel test robot sparse warning Greg Kroah-Hartman
2023-05-22 19:10 ` Greg Kroah-Hartman [this message]
2023-05-22 19:10 ` [PATCH 6.1 290/292] drm/amdgpu: declare firmware for new MES 11.0.4 Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 291/292] drm/amd/amdgpu: introduce gc_*_mes_2.bin v2 Greg Kroah-Hartman
2023-05-22 19:10 ` [PATCH 6.1 292/292] drm/amdgpu: reserve the old gc_11_0_*_mes.bin Greg Kroah-Hartman
2023-05-22 20:30 ` [PATCH 6.1 000/292] 6.1.30-rc1 review Chris Paterson
2023-05-22 21:13 ` Florian Fainelli
2023-05-23  0:22 ` Shuah Khan
2023-05-23  0:58 ` Theodore Ts'o
2023-05-23  3:22 ` Bagas Sanjaya
2023-05-23 10:11 ` ogasawara takeshi
2023-05-23 11:47 ` Pavel Machek
2023-05-23 13:40 ` Jon Hunter
2023-05-23 14:52 ` Naresh Kamboju
2023-05-23 14:52   ` [LTP] " Naresh Kamboju
2023-05-23 15:09   ` Matthieu Baerts
2023-05-23 15:09     ` [LTP] " Matthieu Baerts via ltp
2023-05-23 14:54 ` Conor Dooley
2023-05-23 17:19 ` Markus Reichelt
2023-05-23 20:29 ` Ron Economos
2023-05-23 23:54 ` Guenter Roeck

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=20230522190413.172894107@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ebiggers@google.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=patches@lists.linux.dev \
    --cc=sashal@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.