Skip to content

Commit 0d054ad

Browse files
Ard BiesheuvelIngo Molnar
authored andcommitted
efi: Check EFI_MEMORY_DESCRIPTOR version explicitly
Our efi_memory_desc_t type is based on EFI_MEMORY_DESCRIPTOR version 1 in the UEFI spec. No version updates are expected, but since we are about to introduce support for new firmware tables that use the same descriptor type, it makes sense to at least warn if we encounter other versions. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk> Cc: Borislav Petkov <bp@alien8.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/1461614832-17633-9-git-send-email-matt@codeblueprint.co.uk Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 884f4f6 commit 0d054ad

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

arch/x86/platform/efi/efi.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,10 @@ int __init efi_memblock_x86_reserve_range(void)
211211
efi.memmap.desc_size = e->efi_memdesc_size;
212212
efi.memmap.desc_version = e->efi_memdesc_version;
213213

214+
WARN(efi.memmap.desc_version != 1,
215+
"Unexpected EFI_MEMORY_DESCRIPTOR version %ld",
216+
efi.memmap.desc_version);
217+
214218
memblock_reserve(pmap, efi.memmap.nr_map * efi.memmap.desc_size);
215219

216220
return 0;

drivers/firmware/efi/arm-init.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,10 @@ void __init efi_init(void)
198198
efi.memmap.desc_size = params.desc_size;
199199
efi.memmap.desc_version = params.desc_ver;
200200

201+
WARN(efi.memmap.desc_version != 1,
202+
"Unexpected EFI_MEMORY_DESCRIPTOR version %ld",
203+
efi.memmap.desc_version);
204+
201205
if (uefi_init() < 0)
202206
return;
203207

0 commit comments

Comments
 (0)