[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a07f4712-710e-741a-1706-c4192b9fcd39@nvidia.com>
Date: Sun, 1 Sep 2019 11:36:08 -0700
From: John Hubbard <jhubbard@...dia.com>
To: John S Gruber <JohnSGruber@...il.com>, <john.hubbard@...il.com>,
<bp@...en8.de>, <hpa@...or.com>, <linux-kernel@...r.kernel.org>,
<mingo@...hat.com>, <tglx@...utronix.de>, <x86@...nel.org>,
<gregkh@...uxfoundation.org>
CC: <stable@...r.kernel.org>
Subject: Re: [PATCH] x86/boot: Fix regression--secure boot info loss from
bootparam sanitizing
On 9/1/19 8:38 AM, John S Gruber wrote:
> From: "John S. Gruber" <JohnSGruber@...il.com>
>
> commit a90118c445cc ("x86/boot: Save fields explicitly, zero out everything
> else") now zeros the secure boot information passed by the boot loader or
> by the kernel's efi handover mechanism.
>
> Include boot-params.secure_boot in the preserve field list.
>
> Signed-off-by: John S. Gruber <JohnSGruber@...il.com>
> ---
>
> I noted a change in my computers between running signed 5.3-rc4 and 5.3-rc6
> with signed kernels using the efi handoff protocol with grub. The kernel
> log message "Secure boot enabled" becomes "Secure boot could not be
> determined". The efi_main function in arch/x86/boot/compressed/eboot.c sets
> this field early but it is subsequently zeroed by the above referenced commit
> in the file arch/x86/include/asm/bootparam_utils.h
>
> Applies to 5.3-rc6.
>
Hi,
The fix itself looks good, so you can add:
Reviewed-by: John Hubbard <jhubbard@...dia.com>
...but note that the commit description should get a few tweaks:
1. Your description above is actually well-suited for the commit log,
so please add that in. Especially the symptoms are desirable to have
on record.
2. This should Cc: stable@...r.kernel.org, because the whole thing
made it into -stable and those kernels need this fix.
3. Also need a Fixes tag:
Fixes: commit a90118c445cc ("x86/boot: Save fields explicitly, zero out everything else")
thanks,
--
John Hubbard
NVIDIA
> 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 9e5f3c7..981fe92 100644
> --- a/arch/x86/include/asm/bootparam_utils.h
> +++ b/arch/x86/include/asm/bootparam_utils.h
> @@ -70,6 +70,7 @@ static void sanitize_boot_params(struct boot_params
> *boot_params)
> BOOT_PARAM_PRESERVE(eddbuf_entries),
> BOOT_PARAM_PRESERVE(edd_mbr_sig_buf_entries),
> BOOT_PARAM_PRESERVE(edd_mbr_sig_buffer),
> + BOOT_PARAM_PRESERVE(secure_boot),
> BOOT_PARAM_PRESERVE(hdr),
> BOOT_PARAM_PRESERVE(e820_table),
> BOOT_PARAM_PRESERVE(eddbuf),
>
Powered by blists - more mailing lists