random: handle latent entropy and command line from random_init()
authorJason A. Donenfeld <Jason@zx2c4.com>
Thu, 5 May 2022 00:20:22 +0000 (02:20 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Wed, 18 May 2022 13:53:53 +0000 (15:53 +0200)
commit2f14062bb14b0fcfcc21e6dc7d5b5c0d25966164
tree252a22666138dd85b066eb5b73e9077df499557c
parent8a5b8a4a4ceb353b4dd5bafd09e2b15751bcdb51
random: handle latent entropy and command line from random_init()

Currently, start_kernel() adds latent entropy and the command line to
the entropy bool *after* the RNG has been initialized, deferring when
it's actually used by things like stack canaries until the next time
the pool is seeded. This surely is not intended.

Rather than splitting up which entropy gets added where and when between
start_kernel() and random_init(), just do everything in random_init(),
which should eliminate these kinds of bugs in the future.

While we're at it, rename the awkwardly titled "rand_initialize()" to
the more standard "random_init()" nomenclature.

Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
arch/openrisc/kernel/head.S
drivers/char/random.c
include/linux/random.h
init/main.c