EFI fixes
Linus,
Please pull the latest efi-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git efi-urgent-for-linus
# HEAD: 88447c5b93d98be847f428c39ba589779a59eb83 efi: Allow the number of EFI configuration tables entries to be zero
Two EFI fixes: a quirk for weird systabs, plus add more robust error handling in the old 1:1 mapping code.
Thanks,
Ingo
------------------>
Gen Zhang (1):
efi/x86/Add missing error handling to old_memmap 1:1 mapping code
Rob Bradford (1):
efi: Allow the number of EFI configuration tables entries to be zero
arch/x86/platform/efi/efi.c | 2 ++ arch/x86/platform/efi/efi_64.c | 9 ++++++--- arch/x86/platform/efi/quirks.c | 3 +++ drivers/firmware/efi/efi.c | 3 +++ 4 files changed, 14 insertions(+), 3 deletions(-)
arch/x86/platform/efi/efi.c +2 -0
@@ -85,6 +85,8 @@ static efi_status_t __init phys_efi_set_virtual_address_map(pgd_t *save_pgd; save_pgd =efi_call_phys_prolog (); +if (!save_pgd) +return EFI_ABORTED ;/* Disable interrupts around EFI calls: */ local_irq_save (flags);
arch/x86/platform/efi/efi_64.c +6 -3
@@ -84,13 +84,15 @@ pgd_t * __init efi_call_phys_prolog(void)if (!efi_enabled (EFI_OLD_MEMMAP )) {efi_switch_mm (&efi_mm); -return NULL ; +return efi_mm.pgd; }early_code_mapping_set_exec (1 ); n_pgds =DIV_ROUND_UP ((max_pfn <<PAGE_SHIFT ),PGDIR_SIZE ); save_pgd =kmalloc_array (n_pgds,sizeof (*save_pgd),GFP_KERNEL ); +if (!save_pgd) +return NULL ;/* * Build 1:1 identity mapping for efi=old_map usage. Note that
@@ -138,10 +140,11 @@ pgd_t * __init efi_call_phys_prolog(void)pgd_offset_k (pgd *PGDIR_SIZE )->pgd &= ~_PAGE_NX; } -out:__flush_tlb_all (); -return save_pgd; +out: +efi_call_phys_epilog (save_pgd); +return NULL ; }void __init efi_call_phys_epilog (pgd_t *save_pgd)
arch/x86/platform/efi/quirks.c +3 -0
@@ -513,6 +513,9 @@ int __init efi_reuse_config(u64 tables, int nr_tables)void *p, *tablep;struct efi_setup_data *data; +if (nr_tables ==0 ) +return 0 ; +if (!efi_setup)return 0 ;
drivers/firmware/efi/efi.c +3 -0
@@ -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
The pull request you sent on Sun, 2 Jun 2019 19:35:19 +0200:
The pull request you sent on Sun, 2 Jun 2019 19:35:19 +0200:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.gitefi-urgent-for-linus
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/af0424522dbb235ee7f1eb84bce074004c9d8b51
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker