Re: [PATCH] Make rcutorture RNG use temporal entropy

Paul E. McKenney
2007-08-23T18:58:44Z

On Thu, Aug 23, 2007 at 01:06:58PM -0500, Matt Mackall wrote:
> On Fri, Aug 17, 2007 at 01:00:22PM -0700, Paul E. McKenney wrote:
> > On Fri, Aug 17, 2007 at 11:53:56AM -0700, Andrew Morton wrote:
> > > On Wed, 15 Aug 2007 19:49:04 -0700
> > > "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:
> > >
> > > > Repost of http://lkml.org/lkml/2007/8/10/472 made available by request.
> > > >
> > > > The locking used by get_random_bytes() can conflict with the
> > > > preempt_disable() and synchronize_sched() form of RCU. This patch changes
> > > > rcutorture's RNG to gather entropy from the new cpu_clock() interface
> > > > (relying on interrupts, preemption, daemons, and rcutorture's reader
> > > > thread's rock-bottom scheduling priority to provide useful entropy),
> > > > and also adds and EXPORT_SYMBOL_GPL() to make that interface available
> > > > to GPLed kernel modules such as rcutorture.
> > > >
> > > > Passes several hours of rcutorture.
> > >
> > > Please explain what "conflict with" means so that I can work out if
> > > this is a needed-in-2.6.23 change, thanks.
> >
> > Not needed in 2.6.23. This change falls into the "preparation for -rt"
> > category. Also in the "don't unnecessarily eat entropy, leave some for
> > the people needing crypographically secure randomness" category.
>
> We've had several calls for a more fast and loose version of
> get_random_bytes. Generalizing one of the cookie generation functions
> is probably a good way to go.

Are you thinking in terms of secure_tcp_syn_cookie(), or did you have
something else in mind?

Thanx, Paul