Re: [PATCH 0/3] random: add random.rng_seed to bootconfig entry

Mark Salyzyn
2020-02-14T17:00:24Z

On 2/14/20 5:49 AM, Rob Herring wrote:
> On Fri, Feb 14, 2020 at 12:10 AM Masami Hiramatsu <mhiramat@kernel.org> wrote:
>> Hi,
>>
>> The following series is bootconfig based implementation of
>> the rng_seed option patch originally from Mark Salyzyn.
>> Note that I removed unrelated command line fixes from this
>> series.
> Why do we need this? There's already multiple other ways to pass
> random seed and this doesn't pass the "too complex for the command
> line" argument you had for needing bootconfig.
>
> Rob

Android is the use case I can vouch for. But also KVM.

Android Cuttlefish is an emulated device used extensively in the testing
and development infrastructure for In-house, partner, and system and
application developers for Android. There is no bootloader, per-se.
Because of the Android GKI distribution, there is also no rng virtual
driver built in, it is loaded later as a module, too late for many
aspects of KASLR and networking. There is no Device Tree, it does
however have access to the content of the initrd image, and to the
command line for the kernel. The only convenient way to get early
entropy is going to have to be one of those two places.

In addition, 2B Android devices on the planet, especially in light of
the Android GKI distribution were everything that is vendor created is
in a module, needs a way to collect early entropy prior to module load
and pass it to the kernel. Yes, they do have access to the recently
added Device Tree approach, and we expect them to use it, as I have an
active backport for the mechanism into the Android 4.19 and 5.4 kernels.
There may also be some benefit to allowing the 13000 different
bootloaders an option to use bootconfig as a way of propagating the much
needed entropy to their kernels. I could make a case to also allow them
command line as another option to relieve their development stress to
deliver product, but we can stop there. Regardless, this early entropy
has the benefit of greatly improving security and precious boot time.

Sincerely -- Mark Salyzyn