x86: Don't clear efi_info even if the sentinel hits
authorJosh Boyer <jwboyer@gmail.com>
Thu, 7 Mar 2013 04:23:30 +0000 (20:23 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 7 Mar 2013 04:23:30 +0000 (20:23 -0800)
commit2e604c0f19dcdd433b3863ffc3da9bc0787ca765
treecc1280c896e0db70cf53dda68f5b8c29651cbad6
parent98e7a989979b185f49e86ddaed2ad6890299d9f0
x86: Don't clear efi_info even if the sentinel hits

When boot_params->sentinel is set, all we really know is that some
undefined set of fields in struct boot_params contain garbage.  In the
particular case of efi_info, however, there is a private magic for
that substructure, so it is generally safe to leave it even if the
bootloader is broken.

kexec (for which we did the initial analysis) did not initialize this
field, but of course all the EFI bootloaders do, and most EFI
bootloaders are broken in this respect (and should be fixed.)

Reported-by: Robin Holt <holt@sgi.com>
Link: http://lkml.kernel.org/r/CA%2B5PVA51-FT14p4CRYKbicykugVb=PiaEycdQ57CK2km_OQuRQ@mail.gmail.com
Tested-by: Josh Boyer <jwboyer@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/include/asm/bootparam_utils.h