• Jean-Philippe Brucker's avatar
    random: use arch_get_random*_early() in random_init() · f5e4ec15
    Jean-Philippe Brucker authored
    While reworking the archrandom handling, commit d349ab99 ("random:
    handle archrandom with multiple longs") switched to the non-early
    archrandom helpers in random_init(), which broke initialization of the
    entropy pool from the arm64 random generator.
    
    Indeed at that point the arm64 CPU features, which verify that all CPUs
    have compatible capabilities, are not finalized so arch_get_random_seed_longs()
    is unsuccessful. Instead random_init() should use the _early functions,
    which check only the boot CPU on arm64. On other architectures the
    _early functions directly call the normal ones.
    
    Fixes: d349ab99 ("random: handle archrandom with multiple longs")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
    Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
    f5e4ec15
random.c 48.1 KB