Re: [PATCH] drivers/net: remove network drivers' last few uses of IRQF_SAMPLE_RANDOM

From: Ben Hutchings
Date: Mon May 26 2008 - 18:12:54 EST


Bill Fink wrote:
> On Mon, 26 May 2008, Krzysztof Halasa wrote:
>
> > Bill Fink <billfink@xxxxxxxxxxxxxx> writes:
> >
> > > Another idea that occured to me: How about using the low order bits
> > > of the instruction memory address being executed that was interrupted
> > > by the HZ timer interrupt.
> >
> > Think of constant-instructions-length processors :-)
>
> I'm not sure what you're driving at, but if it's that you shouldn't
> use the very last 2 or 3 bits, then sure those should be excluded.
> But that still leaves 9 or 10 bits at least in the page offset, and
> that's being conservative in the number of address bits to sample.

We would still need to exclude any tight loops which an attacker could
predict or influence a process to enter - the idle loop obviously, plus
udelay(), memcpy() and probably many other functions. Some such loops may
be in userland and therefore unknown to us. So there might not be nearly
as many bits of entropy in the program counter as could be naively
expected. What's more, once userland is blocked on /dev/random, there is
no more entropy available from the program counter!

Ben.

--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/