efi/x86: Add TPM related EFI tables to unencrypted mapping checks
authorTom Lendacky <thomas.lendacky@amd.com>
Fri, 28 Feb 2020 12:14:03 +0000 (13:14 +0100)
committerIngo Molnar <mingo@kernel.org>
Sat, 29 Feb 2020 09:16:56 +0000 (10:16 +0100)
When booting with SME active, EFI tables must be mapped unencrypted since
they were built by UEFI in unencrypted memory. Update the list of tables
to be checked during early_memremap() processing to account for the EFI
TPM tables.

This fixes a bug where an EFI TPM log table has been created by UEFI, but
it lives in memory that has been marked as usable rather than reserved.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: linux-efi@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: David Hildenbrand <david@redhat.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: <stable@vger.kernel.org> # v5.4+
Link: https://lore.kernel.org/r/4144cd813f113c20cdfa511cf59500a64e6015be.1582662842.git.thomas.lendacky@amd.com
Link: https://lore.kernel.org/r/20200228121408.9075-2-ardb@kernel.org
arch/x86/platform/efi/efi.c

index 43b24e1..0a81178 100644 (file)
@@ -88,6 +88,8 @@ static const unsigned long * const efi_tables[] = {
 #ifdef CONFIG_EFI_RCI2_TABLE
        &rci2_table_phys,
 #endif
+       &efi.tpm_log,
+       &efi.tpm_final_log,
 };
 
 u64 efi_setup;         /* efi setup_data physical address */