Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
random: mix build-time latent entropy into pool at init
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: 6e8ec25 ("random: use computational hash for entropy extraction") Reviewed-by: Dominik Brodowski <[email protected]> Reviewed-by: Theodore Ts'o <[email protected]> Signed-off-by: Jason A. Donenfeld <[email protected]>
- Loading branch information