You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
efi: random: reduce seed size to 32 bytes
commit 161a438d73 upstream.
We no longer need at least 64 bytes of random seed to permit the early
crng init to complete. The RNG is now based on Blake2s, so reduce the
EFI seed size to the Blake2s hash size, which is sufficient for our
purposes.
While at it, drop the READ_ONCE(), which was supposed to prevent size
from being evaluated after seed was unmapped. However, this cannot
actually happen, so READ_ONCE() is unnecessary here.
Cc: <stable@vger.kernel.org> # v4.14+
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f8e8cda869
commit
83294f7c77
@@ -590,7 +590,7 @@ int __init efi_config_parse_tables(const efi_config_table_t *config_tables,
|
||||
|
||||
seed = early_memremap(efi_rng_seed, sizeof(*seed));
|
||||
if (seed != NULL) {
|
||||
size = READ_ONCE(seed->size);
|
||||
size = min(seed->size, EFI_RANDOM_SEED_SIZE);
|
||||
early_memunmap(seed, sizeof(*seed));
|
||||
} else {
|
||||
pr_err("Could not map UEFI random seed!\n");
|
||||
|
||||
@@ -1161,7 +1161,7 @@ void efi_retrieve_tpm2_eventlog(void);
|
||||
arch_efi_call_virt_teardown(); \
|
||||
})
|
||||
|
||||
#define EFI_RANDOM_SEED_SIZE 64U
|
||||
#define EFI_RANDOM_SEED_SIZE 32U // BLAKE2S_HASH_SIZE
|
||||
|
||||
struct linux_efi_random_seed {
|
||||
u32 size;
|
||||
|
||||
Reference in New Issue
Block a user