lkml.org 
[lkml]   [2016]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 079/100] random: properly align get_random_int_hash
    Date
    From: Eric Biggers <ebiggers3@gmail.com>

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

    ===============

    commit b1132deac01c2332d234fa821a70022796b79182 upstream.

    get_random_long() reads from the get_random_int_hash array using an
    unsigned long pointer. For this code to be guaranteed correct on all
    architectures, the array must be aligned to an unsigned long boundary.

    Signed-off-by: Eric Biggers <ebiggers3@gmail.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    drivers/char/random.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/char/random.c b/drivers/char/random.c
    index f6b25db16791..85e771c26488 100644
    --- a/drivers/char/random.c
    +++ b/drivers/char/random.c
    @@ -1465,13 +1465,15 @@ int random_int_secret_init(void)
    return 0;
    }

    +static DEFINE_PER_CPU(__u32 [MD5_DIGEST_WORDS], get_random_int_hash)
    + __aligned(sizeof(unsigned long));
    +
    /*
    * Get a random word for internal kernel use only. Similar to urandom but
    * with the goal of minimal entropy pool depletion. As a result, the random
    * value is not cryptographically secure but for several uses the cost of
    * depleting entropy is too high
    */
    -static DEFINE_PER_CPU(__u32 [MD5_DIGEST_WORDS], get_random_int_hash);
    unsigned int get_random_int(void)
    {
    __u32 *hash;
    --
    2.9.3
    \
     
     \ /
      Last update: 2016-09-17 09:57    [W:4.220 / U:0.424 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site