Re: [PATCH 1/3] random: unify early init crng load accounting

From: Jason A. Donenfeld
Date: Sun Feb 13 2022 - 05:57:05 EST


On 2/13/22, Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> wrote:
> Am Sun, Feb 13, 2022 at 12:10:20AM +0100 schrieb Jason A. Donenfeld:
>> crng_fast_load() and crng_slow_load() have different semantics:
>>
>> - crng_fast_load() xors and accounts with crng_init_cnt.
>> - crng_slow_load() hashes and doesn't account.
>>
>> However add_hwgenerator_randomness() can afford to hash (it's called
>> from a kthread), and it should account. Additionally, ones that can
>> afford to hash don't need to take a trylock but can take a normal lock.
>> So, we combine these into one function, crng_pre_init_inject(), which
>> allows us to control these in a uniform way. This will make it simpler
>> later to simplify this all down when the time comes for that.
>
> I thought the call to crng_fast_load() from add_input_randomness() is on
> its
> way out?

It might be. In that case, this commit is preparation work to make the
sunsetting there more clear, and so we can really see what that change
is like. Or maybe we won't do that, in which case this is an
improvement. I'll be looking at that next week.

Jason