• J
    random: remove get_random_bytes_arch() and add rng_has_arch_random() · 248561ad
    Jason A. Donenfeld 提交于
    The RNG incorporates RDRAND into its state at boot and every time it
    reseeds, so there's no reason for callers to use it directly. The
    hashing that the RNG does on it is preferable to using the bytes raw.
    
    The only current use case of get_random_bytes_arch() is vsprintf's
    siphash key for pointer hashing, which uses it to initialize the pointer
    secret earlier than usual if RDRAND is available. In order to replace
    this narrow use case, just expose whether RDRAND is mixed into the RNG,
    with a new function called rng_has_arch_random(). With that taken care
    of, there are no users of get_random_bytes_arch() left, so it can be
    removed.
    
    Later, if trust_cpu gets turned on by default (as most distros are
    doing), this one use of rng_has_arch_random() can probably go away as
    well.
    
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
    Acked-by: Petr Mladek <pmladek@suse.com> # for vsprintf.c
    Signed-off-by: NJason A. Donenfeld <Jason@zx2c4.com>
    248561ad
random.h 4.4 KB