Messages in this thread | | | Date | Mon, 28 Apr 2014 17:41:12 -0400 | From | Theodore Ts'o <> | Subject | Re: [PATCH] random: Add "initialized" variable to proc |
| |
On Mon, Apr 28, 2014 at 09:52:11PM +0200, Florian Weimer wrote: > Before this change, you had to check kernel log messages to see if the > non-blocking pool had been properly initialized. With this change, you > can consult the file /proc/sys/kernel/random/intialized instead. > > Signed-off-by: Florian Weimer <fweimer@redhat.com>
The main reason why I hadn't added a facility like this was because the main goal was to make knowledge of when the /dev/urandom entropy pool had been fully initialized could be made clear. In fact, at least on my laptop, this happened at 2.5 seconds after boot, which is after the hard drives had been probed, and before all of the various laptop devices have been fully probed.
My goal was to see if we could make it be more or less guaranteed that by the time userspace daemons started coming up, in practice /dev/urandom would be initialized, so we wouldn't have to change userspace. And for the most part, this isn't a problem.
Now there may be systems where the device probe can happen much more quickly. in which case it does make sense for really paranoid crypto libraries to check if the urandom pool has been fully initialized. But in that case, instead of (or perhaps in addition to) providing a file which a library daemon could poll on, to provide an ioctl interface which allows userspace to block until /dev/urandom has been initialized.
- Ted
| |