random: do not split fast init input in add_hwgenerator_randomness()
authorJan Varho <jan.varho@gmail.com>
Mon, 4 Apr 2022 16:42:30 +0000 (19:42 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 May 2022 07:29:11 +0000 (09:29 +0200)
commitbe7561767ce84ceb1a902b190e1715b3f4719932
tree344adb196ce158fedc771d5cb77e49d197e7b3a4
parent636b057e2a1a7b64333c5f5ce95401a096e59823
random: do not split fast init input in add_hwgenerator_randomness()

commit 527a9867af29ff89f278d037db704e0ed50fb666 upstream.

add_hwgenerator_randomness() tries to only use the required amount of input
for fast init, but credits all the entropy, rather than a fraction of
it. Since it's hard to determine how much entropy is left over out of a
non-unformly random sample, either give it all to fast init or credit
it, but don't attempt to do both. In the process, we can clean up the
injection code to no longer need to return a value.

Signed-off-by: Jan Varho <jan.varho@gmail.com>
[Jason: expanded commit message]
Fixes: 73c7733f122e ("random: do not throw away excess input to crng_fast_load")
Cc: stable@vger.kernel.org # 5.17+, requires af704c856e88
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/random.c