linux/drivers/firmware/efi/libstub
Ard Biesheuvel 79832f0b5f efi/libstub/tpm: Initialize pointer variables to zero for mixed mode
As reported by Jeremy Cline, running the new TPM libstub code in mixed
mode (i.e., 64-bit kernel on 32-bit UEFI) results in hangs when invoking
the TCG2 protocol, or when accessing the log_tbl pool allocation.

The reason turns out to be that in both cases, the 64-bit pointer
variables are not fully initialized by the 32-bit EFI code, and so
we should take care to zero initialize these variables beforehand,
or we'll end up dereferencing bogus pointers.

Reported-by: Jeremy Cline <jeremy@jcline.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: hdegoede@redhat.com
Cc: jarkko.sakkinen@linux.intel.com
Cc: javierm@redhat.com
Cc: linux-efi@vger.kernel.org
Cc: tweek@google.com
Link: http://lkml.kernel.org/r/20180313140922.17266-2-ard.biesheuvel@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-03-13 15:28:29 +01: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 Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-09-07 09:42:35 -07: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: call get_event_log before ExitBootServices 2018-01-08 12:58:35 +02:00
random.c efi/random: Increase size of firmware supplied randomness 2017-08-26 09:20:33 +02:00
secureboot.c efi: Remove duplicate 'const' specifiers 2017-05-28 11:06:16 +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 pointer variables to zero for mixed mode 2018-03-13 15:28:29 +01:00