• Theodore Ts'o's avatar
    random: use registers from interrupted code for CPU's w/o a cycle counter · ee3e00e9
    Theodore Ts'o authored
    For CPU's that don't have a cycle counter, or something equivalent
    which can be used for random_get_entropy(), random_get_entropy() will
    always return 0.  In that case, substitute with the saved interrupt
    registers to add a bit more unpredictability.
    
    Some folks have suggested hashing all of the registers
    unconditionally, but this would increase the overhead of
    add_interrupt_randomness() by at least an order of magnitude, and this
    would very likely be unacceptable.
    
    The changes in this commit have been benchmarked as mostly unaffecting
    the overhead of add_interrupt_randomness() if the entropy counter is
    present, and doubling the overhead if it is not present.
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Cc: Jörn Engel <joern@logfs.org>
    ee3e00e9
random.c 52.7 KB