]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
random: only call crng_finalize_init() for primary_crng
authorDominik Brodowski <linux@dominikbrodowski.net>
Sun, 30 Jan 2022 21:03:20 +0000 (22:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 Jun 2022 09:46:32 +0000 (11:46 +0200)
commit7ad714b9dced98e0a9b88f7e1884e5baad019570
tree8ce5125037df7089921bc127881c139d732e5abc
parent7beef135045b31760599675f1f7e6caaa6db31bc
random: only call crng_finalize_init() for primary_crng

commit 9d5505f1eebeca778074a0260ed077fd85f8792c upstream.

crng_finalize_init() returns instantly if it is called for another pool
than primary_crng. The test whether crng_finalize_init() is still required
can be moved to the relevant caller in crng_reseed(), and
crng_need_final_init can be reset to false if crng_finalize_init() is
called with workqueues ready. Then, no previous callsite will call
crng_finalize_init() unless it is needed, and we can get rid of the
superfluous function parameter.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/random.c