• Hannes Frederic Sowa's avatar
    random32: add periodic reseeding · 6d319202
    Hannes Frederic Sowa authored
    The current Tausworthe PRNG is never reseeded with truly random data after
    the first attempt in late_initcall. As this PRNG is used for some critical
    random data as e.g. UDP port randomization we should try better and reseed
    the PRNG once in a while with truly random data from get_random_bytes().
    
    When we reseed with prandom_seed we now make also sure to throw the first
    output away. This suffices the reseeding procedure.
    
    The delay calculation is based on a proposal from Eric Dumazet.
    
    Joint work with Daniel Borkmann.
    
    Cc: Eric Dumazet <eric.dumazet@gmail.com>
    Cc: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
    Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6d319202
random32.c 5.82 KB