summaryrefslogtreecommitdiffstats
path: root/lib/random32.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-12-19 13:56:10 +0100
committerIngo Molnar <mingo@kernel.org>2013-12-19 13:56:10 +0100
commit3331e924e7c5b98d245531b181551cb2a7380d0e (patch)
tree25c4432afd79bedc1e8941415166a5cef0c168fb /lib/random32.c
parentfd8526ad14c182605e42b64646344b95befd9f94 (diff)
parent319e2e3f63c348a9b66db4667efa73178e18b17d (diff)
downloadop-kernel-dev-3331e924e7c5b98d245531b181551cb2a7380d0e.zip
op-kernel-dev-3331e924e7c5b98d245531b181551cb2a7380d0e.tar.gz
Merge tag 'v3.13-rc4' into x86/mm
Pick up the latest fixes before applying new patches. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'lib/random32.c')
-rw-r--r--lib/random32.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/random32.c b/lib/random32.c
index 82da4f4..1e5b2df 100644
--- a/lib/random32.c
+++ b/lib/random32.c
@@ -214,18 +214,22 @@ static DEFINE_TIMER(seed_timer, __prandom_timer, 0, 0);
static void __prandom_timer(unsigned long dontcare)
{
u32 entropy;
+ unsigned long expires;
get_random_bytes(&entropy, sizeof(entropy));
prandom_seed(entropy);
+
/* reseed every ~60 seconds, in [40 .. 80) interval with slack */
- seed_timer.expires = jiffies + (40 * HZ + (prandom_u32() % (40 * HZ)));
+ expires = 40 + (prandom_u32() % 40);
+ seed_timer.expires = jiffies + msecs_to_jiffies(expires * MSEC_PER_SEC);
+
add_timer(&seed_timer);
}
-static void prandom_start_seed_timer(void)
+static void __init __prandom_start_seed_timer(void)
{
set_timer_slack(&seed_timer, HZ);
- seed_timer.expires = jiffies + 40 * HZ;
+ seed_timer.expires = jiffies + msecs_to_jiffies(40 * MSEC_PER_SEC);
add_timer(&seed_timer);
}
@@ -270,7 +274,7 @@ void prandom_reseed_late(void)
static int __init prandom_reseed(void)
{
__prandom_reseed(false);
- prandom_start_seed_timer();
+ __prandom_start_seed_timer();
return 0;
}
late_initcall(prandom_reseed);
OpenPOWER on IntegriCloud