Re: Boot failure due to: x86/boot: Save fields explicitly, zero out everything else

From: Neil MacLeod
Date: Wed Aug 21 2019 - 14:56:26 EST


John & Thomas

Thanks both - if you can ping me a suitable patch I'll test it and let
you all know ASAP!

Neil

On Wed, 21 Aug 2019 at 19:51, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> On Wed, 21 Aug 2019, John Hubbard wrote:
> > On 8/21/19 10:05 AM, Neil MacLeod wrote:
> > static void sanitize_boot_params(struct boot_params *boot_params)
> > {
> > ...
> > const struct boot_params_to_save to_save[] = {
> > BOOT_PARAM_PRESERVE(screen_info),
> > BOOT_PARAM_PRESERVE(apm_bios_info),
> > BOOT_PARAM_PRESERVE(tboot_addr),
> > BOOT_PARAM_PRESERVE(ist_info),
> > BOOT_PARAM_PRESERVE(acpi_rsdp_addr),
> > BOOT_PARAM_PRESERVE(hd0_info),
> > BOOT_PARAM_PRESERVE(hd1_info),
> > BOOT_PARAM_PRESERVE(sys_desc_table),
> > BOOT_PARAM_PRESERVE(olpc_ofw_header),
> > BOOT_PARAM_PRESERVE(efi_info),
> > BOOT_PARAM_PRESERVE(alt_mem_k),
> > BOOT_PARAM_PRESERVE(scratch),
> > BOOT_PARAM_PRESERVE(e820_entries),
> > BOOT_PARAM_PRESERVE(eddbuf_entries),
> > BOOT_PARAM_PRESERVE(edd_mbr_sig_buf_entries),
> > BOOT_PARAM_PRESERVE(edd_mbr_sig_buffer),
> > BOOT_PARAM_PRESERVE(e820_table),
> > BOOT_PARAM_PRESERVE(eddbuf),
> > };
>
> I think I spotted it:
>
> - boot_params->acpi_rsdp_addr = 0;
>
> + BOOT_PARAM_PRESERVE(acpi_rsdp_addr),
>
> And it does not preserve 'hdr'
>
> Grr. I surely was too tired when staring at this last time.
>
> Thanks,
>
> tglx