kernel-ark/drivers/firmware/efi/libstub
Hans de Goede 52e1cf2d19 efi/libstub/tpm: Initialize efi_physical_addr_t vars to zero for mixed mode
Commit:

  79832f0b5f ("efi/libstub/tpm: Initialize pointer variables to zero for mixed mode")

fixes a problem with the tpm code on mixed mode (64-bit kernel on 32-bit UEFI),
where 64-bit pointer variables are not fully initialized by the 32-bit EFI code.

A similar problem applies to the efi_physical_addr_t variables which
are written by the ->get_event_log() EFI call. Even though efi_physical_addr_t
is 64-bit everywhere, it seems that some 32-bit UEFI implementations only
fill in the lower 32 bits when passed a pointer to an efi_physical_addr_t
to fill.

This commit initializes these to 0 to, to ensure the upper 32 bits are
0 in mixed mode. This fixes recent kernels sometimes hanging during
early boot on mixed mode UEFI systems.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: <stable@vger.kernel.org> # v4.16+
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/20180622064222.11633-2-ard.biesheuvel@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-06-22 10:58:27 +02:00
..
arm32-stub.c efi/libstub/arm/arm64: Disable debug prints on 'quiet' cmdline arg 2017-04-05 12:27:28 +02:00
arm64-stub.c efi/libstub/arm64: Handle randomized TEXT_OFFSET 2018-05-19 08:07:56 +02:00
arm-stub.c Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm 2017-11-04 14:26:30 -07:00
efi-stub-helper.c efi: Introduce efi_early_memdesc_ptr to get pointer to memmap descriptor 2017-08-17 10:50:57 +02:00
efistub.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fdt.c arm64 updates for 4.12: 2017-05-05 12:11:37 -07:00
gop.c efi/libstub: Skip GOP with PIXEL_BLT_ONLY format 2017-04-05 09:20:18 +02:00
Makefile efi: Use string literals for efi_char16_t variable initializers 2018-03-12 10:05:02 +01:00
random.c efi/random: Increase size of firmware supplied randomness 2017-08-26 09:20:33 +02:00
secureboot.c x86/xen/efi: Initialize UEFI secure boot state during dom0 boot 2018-05-14 08:57:46 +02:00
string.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tpm.c efi/libstub/tpm: Initialize efi_physical_addr_t vars to zero for mixed mode 2018-06-22 10:58:27 +02:00