random: move initialization out of reseeding hot path
authorJason A. Donenfeld <Jason@zx2c4.com>
Mon, 9 May 2022 11:53:24 +0000 (13:53 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Wed, 18 May 2022 13:53:53 +0000 (15:53 +0200)
commit68c9c8b192c6dae9be6278e98ee44029d5da2d31
treebc4b1ebe0d0ec25bfff4a8a9a8181f32ad742078
parentfed7ef061686cc813b1f3d8d0edc6c35b4d3537b
random: move initialization out of reseeding hot path

Initialization happens once -- by way of credit_init_bits() -- and then
it never happens again. Therefore, it doesn't need to be in
crng_reseed(), which is a hot path that is called multiple times. It
also doesn't make sense to have there, as initialization activity is
better associated with initialization routines.

After the prior commit, crng_reseed() now won't be called by multiple
concurrent callers, which means that we can safely move the
"finialize_init" logic into crng_init_bits() unconditionally.

Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
drivers/char/random.c