Commit c2bc3a31 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'x86/rdrand' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

* 'x86/rdrand' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  random: Adjust the number of loops when initializing
  random: Use arch-specific RNG to initialize the entropy store
parents 5674124f 2dac8e54
...@@ -965,6 +965,7 @@ EXPORT_SYMBOL(get_random_bytes); ...@@ -965,6 +965,7 @@ EXPORT_SYMBOL(get_random_bytes);
*/ */
static void init_std_data(struct entropy_store *r) static void init_std_data(struct entropy_store *r)
{ {
int i;
ktime_t now; ktime_t now;
unsigned long flags; unsigned long flags;
...@@ -974,6 +975,11 @@ static void init_std_data(struct entropy_store *r) ...@@ -974,6 +975,11 @@ static void init_std_data(struct entropy_store *r)
now = ktime_get_real(); now = ktime_get_real();
mix_pool_bytes(r, &now, sizeof(now)); mix_pool_bytes(r, &now, sizeof(now));
for (i = r->poolinfo->POOLBYTES; i > 0; i -= sizeof flags) {
if (!arch_get_random_long(&flags))
break;
mix_pool_bytes(r, &flags, sizeof(flags));
}
mix_pool_bytes(r, utsname(), sizeof(*(utsname()))); mix_pool_bytes(r, utsname(), sizeof(*(utsname())));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment