[PATCH v2 1/2] hwrng: fetch randomness only after device init

Amit Shah
2014-07-07T06:04:58Z

On (Mon) 07 Jul 2014 [11:23:52], Amit Shah wrote:
> On (Sun) 06 Jul 2014 [21:41:47], Kees Cook wrote:
> > On Fri, Jul 4, 2014 at 10:34 PM, Amit Shah <amit.shah at
redhat.com> wrote:
> > > Commit d9e7972619334 "hwrng: add randomness to system from
rng sources"
> > > added a call to rng_get_data() from the hwrng_register()
function.
> > > However, some rng devices need initialization before data can be
read
> > > from them.
> > >
> > > This commit makes the call to rng_get_data() depend on no init fn
> > > pointer being registered by the device.  If an init function is
> > > registered, this call is made after device init.
> >
> > Thanks, this seems pretty reasonable. One side-effect is that cycling
> > between hwrngs via sysfs (when they have init functions) will cause
> > them to add more entropy. I don't think this is a problem, but it
is
> > kind of a weird side-effect.
>
> Yes, agreed.  Having a per-device bool that indicates whether the
> initial randomness is obtained is quite a heavy solution for this
> side-effect.  But I can put this in the commit log so it's clear..

Well actually this feels a little weird, so how about making this the
default behaviour for all devices, whether they have ->init() or not?

This also means that if a virtio-rng device is switched, it can
contribute as its probe would have been over.

		Amit