Source
206
206
u32 weak_seed = (i + jiffies) ^ random_get_entropy();
207
207
208
208
prandom_seed_early(state, weak_seed, true);
209
209
prandom_warmup(state);
210
210
}
211
211
212
212
return 0;
213
213
}
214
214
core_initcall(prandom_init);
215
215
216
-
static void __prandom_timer(unsigned long dontcare);
216
+
static void __prandom_timer(struct timer_list *unused);
217
217
218
218
static DEFINE_TIMER(seed_timer, __prandom_timer);
219
219
220
-
static void __prandom_timer(unsigned long dontcare)
220
+
static void __prandom_timer(struct timer_list *unused)
221
221
{
222
222
u32 entropy;
223
223
unsigned long expires;
224
224
225
225
get_random_bytes(&entropy, sizeof(entropy));
226
226
prandom_seed(entropy);
227
227
228
228
/* reseed every ~60 seconds, in [40 .. 80) interval with slack */
229
229
expires = 40 + prandom_u32_max(40);
230
230
seed_timer.expires = jiffies + msecs_to_jiffies(expires * MSEC_PER_SEC);