On Wed, Jan 18, 2012, Andrey Chernov wrote: > On Mon, Jan 16, 2012 at 08:18:10PM +0000, David Schultz wrote: > > Author: das > > Date: Mon Jan 16 20:18:10 2012 > > New Revision: 230230 > > URL: http://svn.freebsd.org/changeset/base/230230 > > > > Log: > > Generate a warning if the kernel's arc4random() is seeded with bogus > > entropy. > > While you are here, could you review/commit my patch to fix bad 31bit > arc4rand() seeding, please? > > --- yarrow.c.bak 2011-09-26 07:35:48.000000000 +0400 > +++ yarrow.c 2012-01-18 10:13:47.000000000 +0400 > @@ -59,6 +59,8 @@ static void reseed(u_int); > /* The reseed thread mutex */ > struct mtx random_reseed_mtx; > > +static arc4rand_seeded = 0; > + > /* Process a single stochastic event off the harvest queue */ > void > random_process_event(struct harvest *event) > @@ -261,6 +263,11 @@ reseed(u_int fastslow) > > /* Release the reseed mutex */ > mtx_unlock(&random_reseed_mtx); > + > + if (!arc4rand_seeded) { > + arc4rand_seeded = 1; > + arc4rand(NULL, 0, 1); > + } > } > > /* Internal function to return processed entropy from the PRNG */
It appears to reseed arc4random's state exactly once, at whatever unpredictable time devrandom decides to reseed itself. Are you trying to fix the problems that arise if random.ko is loaded too late in the boot process? _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"