lkml.org 
[lkml]   [2012]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 17/44] random: Use arch-specific RNG to initialize the entropy store
    Date
    From: Greg KH <gregkh@linuxfoundation.org>

    3.0-stable review patch. If anyone has any objections, please let me know.

    ------------------

    From: Theodore Ts'o <tytso@mit.edu>

    commit 3e88bdff1c65145f7ba297ccec69c774afe4c785 upstream.

    If there is an architecture-specific random number generator (such as
    RDRAND for Intel architectures), use it to initialize /dev/random's
    entropy stores. Even in the worst case, if RDRAND is something like
    AES(NSA_KEY, counter++), it won't hurt, and it will definitely help
    against any other adversaries.

    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Link: http://lkml.kernel.org/r/1324589281-31931-1-git-send-email-tytso@mit.edu
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/char/random.c | 6 ++++++
    1 file changed, 6 insertions(+)

    --- a/drivers/char/random.c
    +++ b/drivers/char/random.c
    @@ -965,6 +965,7 @@ EXPORT_SYMBOL(get_random_bytes);
    */
    static void init_std_data(struct entropy_store *r)
    {
    + int i;
    ktime_t now;
    unsigned long flags;

    @@ -974,6 +975,11 @@ static void init_std_data(struct entropy

    now = ktime_get_real();
    mix_pool_bytes(r, &now, sizeof(now));
    + for (i = r->poolinfo->poolwords; i; i--) {
    + if (!arch_get_random_long(&flags))
    + break;
    + mix_pool_bytes(r, &flags, sizeof(flags));
    + }
    mix_pool_bytes(r, utsname(), sizeof(*(utsname())));
    }




    \
     
     \ /
      Last update: 2012-08-14 02:42    [W:0.031 / U:1.068 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site