Re: Linux messages full of `random: get_random_u32 called from`

From: Theodore Y. Ts'o
Date: Mon Apr 30 2018 - 12:11:52 EST


On Sun, Apr 29, 2018 at 09:34:45PM -0700, Sultan Alsawaf wrote:
>
> What about abusing high-resolution timers to get entropy? Since hrtimers can't
> make guarantees down to the nanosecond, there's always a skew between the
> requested expiry time and the actual expiry time.
>
> Please see the attached patch and let me know just how horrible it is.

So think about exactly where the possible causes of the skew might be
coming from. Look very closely at the software implemntation. The
important thing here is to not get hung up on the software
abstraction, but to look at the *implementation*. (And if it's an
implementation in architecture specific code, we need to look at all
architectures.)

This applies on the hardware level as hard, but that gets harder
because there many possible hardware implemntations in use out there.
Remember that that on many systems there may be only single clock
crystal, and all other hardware timers maybe derived from that clock
using frequency dividers. (At least for everything on the mainboard.)

- Ted