Re: [PATCH] x86/boot: clear rsdp address in boot_params for broken loaders

From: hpa
Date: Mon Dec 03 2018 - 18:07:41 EST


On December 3, 2018 2:38:11 AM PST, Juergen Gross <jgross@xxxxxxxx> wrote:
>In case a broken boot loader doesn't clear its struct boot_params clear
>rsdp_addr in sanitize_boot_params().
>
>This fixes commit e6e094e053af75 ("x86/acpi, x86/boot: Take RSDP
>address from boot params if available") e.g. for the case of a boot via
>systemd-boot.
>
>Fixes: e6e094e053af75 ("x86/acpi, x86/boot: Take RSDP address from boot
>params if available")
>Reported-by: Gunnar Krueger <taijian@xxxxxxxxx>
>Tested-by: Gunnar Krueger <taijian@xxxxxxxxx>
>Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>---
> 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 a07ffd23e4dd..f6f6ef436599 100644
>--- a/arch/x86/include/asm/bootparam_utils.h
>+++ b/arch/x86/include/asm/bootparam_utils.h
>@@ -36,6 +36,7 @@ static void sanitize_boot_params(struct boot_params
>*boot_params)
> */
> if (boot_params->sentinel) {
> /* fields in boot_params are left uninitialized, clear them */
>+ boot_params->acpi_rsdp_addr = 0;
> memset(&boot_params->ext_ramdisk_image, 0,
> (char *)&boot_params->efi_info -
> (char *)&boot_params->ext_ramdisk_image);

Isn't this already covered by the memset()? If not, we should extend the memset() to maximal coverage.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.