What was the base of your patch? It's not applying on my kernel tree.Noticed that immediately after posting, figured there would be another round ;-}
On Fri, Feb 07, 2020 at 07:07:59AM -0800, Mark Salyzyn wrote:
A followup to commit 428826f5358c922dc378830a1717b682c0823160s/rrase/erase/
("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.
It is preferred to add rng-seed to the Device Tree, but some"all 8 bits"?
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.
@@ -875,6 +909,21 @@ asmlinkage __visible void __init start_kernel(void)This doesn't look right at all. It calls credit_trusted_entropy(),
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);
+ }
+ }
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)?