Re: [PATCH] random: Move rand_initialize() earlier
From: Kees Cook
Date: Tue Apr 23 2019 - 18:21:16 EST
On Tue, Apr 16, 2019 at 9:09 AM Theodore Ts'o <tytso@xxxxxxx> wrote:
>
> On Mon, Apr 15, 2019 at 10:46:34PM -0500, Kees Cook wrote:
> > On Fri, Oct 12, 2018 at 9:45 AM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> > >
> > > On Fri, Oct 12, 2018 at 7:29 AM, Theodore Y. Ts'o <tytso@xxxxxxx> wrote:
> > > > On Thu, Oct 11, 2018 at 03:54:21PM -0700, Kees Cook wrote:
> > > >> Right now rand_initialize() is run as an early_initcall(), but it only
> > > >> depends on timekeeping_init() (for mixing ktime_get_real() into the
> > > >> pools). However, the call to boot_init_stack_canary() for stack canary
> > > >> initialization runs earlier, which triggers a warning at boot:
> > > >>
> > > >> random: get_random_bytes called from start_kernel+0x357/0x548 with crng_init=0
> > > >>
> > > >> Instead, this moves rand_initialize() to after timekeeping_init(), and moves
> > > >> canary initialization here as well.
> > > >>
> > > >> Note that this warning may still remain for machines that do not have
> > > >> UEFI RNG support (which initializes the RNG pools durting setup_arch()),
> > > >> or for x86 machines without RDRAND (or booting without "random.trust=on"
> > > >> or CONFIG_RANDOM_TRUST_CPU=y).
> > > >>
> > > >> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> >
> > Hi Ted! Did this get lost? This has come up again, and I don't see it
> > having landed anywhere yet. Can you take this?
>
> Yeah, sorry, it got lost; my bad. I'll take it and push it out at the
> next merge window.
Gentle poke. :) I still don't see this in -next...
--
Kees Cook