This regards upstream commit a90118c445cc ("x86/boot: Save fields explicitly, zero out everything else") application to linux-stable.
Its corresponding commits to the stable 4.4 and 4.9 trees didn't apply correctly, probably due to a field name change (e820_table had been named e820_map before 4.10).
On my desktop I'm unable to boot a signed kernel due to these commits.
Add e820_map (to replace e820_table) to the preserved fields so that the E820 memory regions in boot_params can be accessed by the kernel after boot_params has been sanitized.
Signed-off-by: John S Gruber JohnSGruber@gmail.com Fixes: 41664b97f46e ("x86/boot: Save fields explicitly, zero out everything else") Fixes: 4e478cb2ccdd ("x86/boot: Save fields explicitly, zero out everything else") Link: https://lore.kernel.org/lkml/20190731054627.5627-2-jhubbard@nvidia.com/ ---
I tested stable 4.14.145, 4.19.74, and 5.2.16 successfully under the same circumstances. Only 4.4 and 4.9 are affected by this dropped line.
arch/x86/include/asm/bootparam_utils.h | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/x86/include/asm/bootparam_utils.h b/arch/x86/include/asm/bootparam_utils.h index 0232b5a..588d8fb 100644 --- a/arch/x86/include/asm/bootparam_utils.h +++ b/arch/x86/include/asm/bootparam_utils.h @@ -71,6 +71,7 @@ static void sanitize_boot_params(struct boot_params *boot_params) BOOT_PARAM_PRESERVE(edd_mbr_sig_buf_entries), BOOT_PARAM_PRESERVE(edd_mbr_sig_buffer), BOOT_PARAM_PRESERVE(hdr), + BOOT_PARAM_PRESERVE(e820_map), BOOT_PARAM_PRESERVE(eddbuf), };