From: Jason A. Donenfeld Date: Sat, 12 Feb 2022 22:57:38 +0000 (+0100) Subject: random: check for crng_init == 0 in add_device_randomness() X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1daf2f387652bf3a7044aea042f5023b3f6b189b;p=uclinux-h8%2Flinux.git random: check for crng_init == 0 in add_device_randomness() This has no real functional change, as crng_pre_init_inject() (and before that, crng_slow_init()) always checks for == 0, not >= 2. So correct the outer unlocked change to reflect that. Before this used crng_ready(), which was not correct. Cc: Theodore Ts'o Reviewed-by: Dominik Brodowski Reviewed-by: Eric Biggers Signed-off-by: Jason A. Donenfeld --- diff --git a/drivers/char/random.c b/drivers/char/random.c index 93d01f918720..bca4467e540f 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1020,7 +1020,7 @@ void add_device_randomness(const void *buf, size_t size) unsigned long time = random_get_entropy() ^ jiffies; unsigned long flags; - if (!crng_ready() && size) + if (crng_init == 0 && size) crng_pre_init_inject(buf, size, false, false); spin_lock_irqsave(&input_pool.lock, flags);