#define CRNG_INIT_CNT_THRESH (2*CHACHA20_KEY_SIZE)
static void _extract_crng(struct crng_state *crng,
__u8 out[CHACHA20_BLOCK_SIZE]);
-@@ -932,7 +933,8 @@ static void _extract_crng(struct crng_st
+@@ -905,7 +906,8 @@ static void _extract_crng(struct crng_st
unsigned long v, flags;
if (crng_ready() &&
crng_reseed(crng, crng == &primary_crng ? &input_pool : NULL);
spin_lock_irqsave(&crng->lock, flags);
if (arch_get_random_long(&v))
-@@ -1759,6 +1761,7 @@ static int rand_initialize(void)
+@@ -1738,6 +1740,7 @@ static int rand_initialize(void)
init_std_data(&input_pool);
init_std_data(&blocking_pool);
crng_initialize(&primary_crng);
+ crng_global_init_time = jiffies;
- return 0;
- }
- early_initcall(rand_initialize);
-@@ -1932,6 +1935,14 @@ static long random_ioctl(struct file *f,
+
+ #ifdef CONFIG_NUMA
+ pool = kcalloc(nr_node_ids, sizeof(*pool), GFP_KERNEL|__GFP_NOFAIL);
+@@ -1924,6 +1927,14 @@ static long random_ioctl(struct file *f,
input_pool.entropy_count = 0;
blocking_pool.entropy_count = 0;
return 0;
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
-@@ -905,7 +905,7 @@ static void crng_reseed(struct crng_stat
+@@ -879,7 +879,7 @@ static void crng_reseed(struct crng_stat
_crng_backtrack_protect(&primary_crng, buf.block,
CHACHA20_KEY_SIZE);
}
for (i = 0; i < 8; i++) {
unsigned long rv;
if (!arch_get_random_seed_long(&rv) &&
-@@ -915,7 +915,7 @@ static void crng_reseed(struct crng_stat
+@@ -889,7 +889,7 @@ static void crng_reseed(struct crng_stat
}
memzero_explicit(&buf, sizeof(buf));
crng->init_time = jiffies;
+ spin_unlock_irqrestore(&crng->lock, flags);
if (crng == &primary_crng && crng_init < 2) {
invalidate_batched_entropy();
- numa_crng_init();
+ crng_init = 2;
alsa-hda-realtek-adjust-the-location-of-one-mic.patch
random-fix-crng_ready-test.patch
random-use-a-different-mixing-algorithm-for-add_device_randomness.patch
-random-set-up-the-numa-crng-instances-after-the-crng-is-fully-initialized.patch
random-crng_reseed-should-lock-the-crng-instance-that-it-is-modifying.patch
random-add-new-ioctl-rndreseedcrng.patch
hid-input-fix-battery-level-reporting-on-bt-mice.patch