2022-03-31 20:29:34

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH v2] random: mix build-time latent entropy into pool at init

On Thu, Mar 31, 2022 at 11:26:41AM -0400, Jason A. Donenfeld wrote:
> Prior, the "input_pool_data" array needed no real initialization, and so
> it was easy to mark it with __latent_entropy to populate it during
> compile-time. In switching to using a hash function, this required us to
> specifically initialize it to some specific state, which means we
> dropped the __latent_entropy attribute. An unfortunate side effect was
> this meant the pool was no longer seeded using compile-time random data.
> In order to bring this back, we declare an array in rand_initialize()
> with __latent_entropy and call mix_pool_bytes() on that at init, which
> accomplishes the same thing as before. We make this __initconst, so that
> it doesn't take up space at runtime after init.
>
> Fixes: 6e8ec2552c7d ("random: use computational hash for entropy extraction")
> Cc: Dominik Brodowski <[email protected]>
> Cc: Theodore Ts'o <[email protected]>
> Signed-off-by: Jason A. Donenfeld <[email protected]>

LGTM

Reviewed-by: Theodore Ts'o <[email protected]>