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

From: Neil MacLeod
Date: Wed Aug 21 2019 - 15:50:08 EST


The fix looks good - many thanks for the quick turnaround!

Neil

On Wed, 21 Aug 2019 at 19:56, John Hubbard <jhubbard@xxxxxxxxxx> wrote:
>
> On 8/21/19 11:51 AM, Thomas Gleixner 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.
> >
>
> ohhh man, that's embarrassing. Especially hdr, which was the center of
> the whole thing...sigh. Patch coming shortly.
>
>
> thanks,
> --
> John Hubbard
> NVIDIA