Re: [PATCH] x86, random: Fix get_random_bytes() warning in x86 start_kernel

From: Prarit Bhargava
Date: Tue May 29 2018 - 12:58:19 EST




On 05/29/2018 12:07 PM, Theodore Y. Ts'o wrote:
> On Tue, May 29, 2018 at 11:01:07AM -0400, Prarit Bhargava wrote:
>> Kees, in early boot no pool is available so the stack canary is initialized from
>> the TSC. Later in boot, the stack canary will use the the crng.
>>
>> ie) in early boot only TSC is okay, and late boot (when crng_ready() is true)
>> the pool will be used.
>
> But that means all of the kernel threads (e.g., workqueues, et. al)
> would not be well protected by the stack canary. That
> seems.... rather unfortunate.

Well, as stated the TSC is used as a source of entropy in early boot. It's
always been that way and get_random_bytes() AFAICT has always returned 0. CPUs
added later on via hotplug do use get_random_bytes().

Does anyone cc'd have a better idea on how to get another source of entropy this
early in boot?

P.

>
> - Ted
>