summaryrefslogtreecommitdiffstats
path: root/drivers/firmware
diff options
context:
space:
mode:
authorRob Bradford <robert.bradford@intel.com>2019-05-25 13:25:59 +0200
committerIngo Molnar <mingo@kernel.org>2019-05-25 13:48:17 +0200
commit88447c5b93d98be847f428c39ba589779a59eb83 (patch)
treecee45ba436e2cd3dda721a76d23a2e8c8ef4ecf7 /drivers/firmware
parentefi/x86/Add missing error handling to old_memmap 1:1 mapping code (diff)
downloadlinux-88447c5b93d98be847f428c39ba589779a59eb83.tar.xz
linux-88447c5b93d98be847f428c39ba589779a59eb83.zip
efi: Allow the number of EFI configuration tables entries to be zero
Only try and access the EFI configuration tables if there there are any reported. This allows EFI to be continued to used on systems where there are no configuration table entries. Signed-off-by: Rob Bradford <robert.bradford@intel.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Gen Zhang <blackgod016574@gmail.com> 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/20190525112559.7917-3-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/firmware')
-rw-r--r--drivers/firmware/efi/efi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
index 55b77c576c42..521a541d02ad 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -636,6 +636,9 @@ int __init efi_config_init(efi_config_table_type_t *arch_tables)
void *config_tables;
int sz, ret;
+ if (efi.systab->nr_tables == 0)
+ return 0;
+
if (efi_enabled(EFI_64BIT))
sz = sizeof(efi_config_table_64_t);
else