[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200207155828.GB122530@mit.edu>
Date: Fri, 7 Feb 2020 10:58:28 -0500
From: "Theodore Y. Ts'o" <tytso@....edu>
To: Mark Salyzyn <salyzyn@...roid.com>
Cc: linux-kernel@...r.kernel.org, kernel-team@...roid.com,
Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Richard Henderson <richard.henderson@...aro.org>,
Mark Brown <broonie@...nel.org>,
Kees Cook <keescook@...omium.org>,
Hsin-Yi Wang <hsinyi@...omium.org>,
Vasily Gorbik <gor@...ux.ibm.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Masami Hiramatsu <mhiramat@...nel.org>,
"Steven Rostedt (VMware)" <rostedt@...dmis.org>,
Mike Rapoport <rppt@...ux.ibm.com>,
Arvind Sankar <nivedita@...m.mit.edu>,
Dominik Brodowski <linux@...inikbrodowski.net>,
Thomas Gleixner <tglx@...utronix.de>,
Alexander Potapenko <glider@...gle.com>
Subject: Re: [PATCH] random: add rng-seed= command line option
What was the base of your patch? It's not applying on my kernel tree.
On Fri, Feb 07, 2020 at 07:07:59AM -0800, Mark Salyzyn wrote:
> A followup to commit 428826f5358c922dc378830a1717b682c0823160
> ("fdt: add support for rng-seed") to extend what was started
> with Open Firmware (OF or Device Tree) parsing, but also add
> it to the command line.
>
> If CONFIG_RANDOM_TRUST_BOOTLOADER is set, then feed the rng-seed
> command line option length as added trusted entropy.
>
> Always rrase all views of the rng-seed option, except early command
> line parsing, to prevent leakage to applications or modules, to
> eliminate any attack vector.
s/rrase/erase/
>
> It is preferred to add rng-seed to the Device Tree, but some
> platforms do not have this option, so this adds the ability to
> provide some command-line-limited data to the entropy through this
> alternate mechanism. Expect all 8 bits to be used, but must exclude
> space to be accounted in the command line.
"all 8 bits"?
> @@ -875,6 +909,21 @@ asmlinkage __visible void __init start_kernel(void)
> rand_initialize();
> add_latent_entropy();
> add_device_randomness(command_line, strlen(command_line));
> + if (IS_BUILTIN(CONFIG_RANDOM_TRUST_BOOTLOADER)) {
> + size_t l = strlen(command_line);
> + char *rng_seed = strnstr(command_line, rng_seed_str, l);
> +
> + if (rng_seed) {
> + char *end;
> +
> + rng_seed += strlen(rng_seed_str);
> + l -= rng_seed - command_line;
> + end = strnchr(rng_seed, l, ' ');
> + if (end)
> + l = end - rng_seed;
> + credit_trusted_entropy(l);
> + }
> + }
This doesn't look right at all. It calls credit_trusted_entropy(),
but it doesn't actually feed the contents of rng_seed where. Why not
just call add_hwgeneterator_randomness() and drop adding this
credit_trusted_entropy(l)?
- Ted
Powered by blists - more mailing lists