Re: IRQF_SAMPLE_RANDOM question...

Matt Mackall
2009-04-07T20:31:15Z

On Tue, 2009-04-07 at 07:16 -0400, Robin Getz wrote:
> On Mon 6 Apr 2009 15:01, Matt Mackall pondered:
> > On Mon, 2009-04-06 at 14:30 -0400, Robin Getz wrote:
> > > We have lots of embedded headless systems (no keyboard/mouse, no
> > > soundcard, no video) systems with *no* sources of entropy - and
> > > people using SSL.
> >
> > I'd rather add a random_sample_network call somewhere reasonably central
> > in the network stack. Then we can use the knowledge that the sample is
> > network-connected in the random core to decide how to measure its
> > entropy. The trouble with IRQF_SAMPLE_RANDOM is that many of its users
> > are technically bogus as entropy sources in the current model.
>
> OK - that makes more sense.
>
> Does that mean we also shouldn't be using IRQF_SAMPLE_RANDOM on interrupt
> sources in subsystems which already have add_xxx_randomness() in them? (block
> devices, and input devices?)
>
> block/blk-core.c -> blk_end_io() -> add_disk_randomness()
> drivers/input/input.c -> input_event() -> add_input_randomness()
>
> drivers/block/xen-blkfront.c, line 639
>
> drivers/input/touchscreen/wm97xx-core.c, line 374
> drivers/input/keyboard/gpio_keys.c, line 145
> drivers/input/keyboard/bf54x-keys.c, line 255
> drivers/input/serio/hp_sdc.c, line 881

Yes. The flag needs to be taken out and shot. Everything going into the
RNG should be made to go through an add_*_randomness interface only.
Preferably not at a per-driver level.

--
http://selenic.com : development and support for Mercurial and Linux