FAILED: patch "[PATCH] efi: random: reduce seed size to 32 bytes" failed to apply to 4.14-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Possible dependencies:
161a438d730d ("efi: random: reduce seed size to 32 bytes") 6120681bdf1a ("Merge branch 'efi/urgent' into efi/core, to pick up fixes")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 161a438d730dade2ba2b1bf8785f0759aba4ca5f Mon Sep 17 00:00:00 2001
From: Ard Biesheuvel <[email protected]>
Date: Thu, 20 Oct 2022 10:39:08 +0200
Subject: [PATCH] efi: random: reduce seed size to 32 bytes
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.
drivers/firmware/efi/efi.c +1 -1
@@ -611,7 +611,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" );
include/linux/efi.h +1 -1
@@ -1222,7 +1222,7 @@ efi_status_t efi_random_get_seed(void);arch_efi_call_virt_teardown (); \ }) -#define EFI_RANDOM_SEED_SIZE 64U +#define EFI_RANDOM_SEED_SIZE 32U // BLAKE2S_HASH_SIZEstruct linux_efi_random_seed {u32 size;
PATCH 1/1 efi: random: reduce seed size to 32 bytes
From: Ard Biesheuvel <[email protected]>
commit 161a438d730dade2ba2b1bf8785f0759aba4ca5f 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. [stable:READ_ONCE() wasn't backported in the first place.]
--- drivers/firmware/efi/efi.c | 2 +- include/linux/efi.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/firmware/efi/efi.c +1 -1
@@ -532,7 +532,7 @@ int __init efi_config_parse_tables(void *config_tables, int count, int sz, seed =early_memremap (efi.rng_seed,sizeof (*seed));if (seed !=NULL ) { - size = 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" );
include/linux/efi.h +1 -1
@@ -1607,7 +1607,7 @@ efi_status_t efi_exit_boot_services(efi_system_table_t *sys_table,void *priv, efi_exit_boot_map_processing priv_func); -#define EFI_RANDOM_SEED_SIZE 64U +#define EFI_RANDOM_SEED_SIZE 32U // BLAKE2S_HASH_SIZEstruct linux_efi_random_seed {u32 size;
Signature · 1 line
2.38.1
Greg KH
maintainerRe: [PATCH 4.14.y] efi: random: reduce seed size to 32 bytes
Quoted 19 lines · Jason A. Donenfeld
From: Ard Biesheuvel <[email protected]>
commit
161a438d730dade2ba2b1bf8785f0759aba4ca5fupstream.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, soREAD_ONCE()is unnecessary here. [stable:READ_ONCE()wasn't backported in the first place.]Cc <[email protected]> # v4.14+Signed-off-by Ard Biesheuvel <[email protected]>Reviewed-by Jason A. Donenfeld <[email protected]>Acked-by Ilias Apalodimas <[email protected]>Signed-off-by Jason A. Donenfeld <[email protected]>
Quoted 4 lines
--- drivers/firmware/efi/efi.c | 2 +- include/linux/efi.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Both backports now queued up, thanks.
greg k-h