Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 EFI fixes from Peter Anvin:
"A few more EFI-related fixes"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/efi: Check status field to validate BGRT header
x86/efi: Fix 32-bit fallout

+20 -4
+2
arch/x86/include/asm/efi.h
··· 132 132 extern void efi_sync_low_kernel_mappings(void); 133 133 extern void efi_setup_page_tables(void); 134 134 extern void __init old_map_region(efi_memory_desc_t *md); 135 + extern void __init runtime_code_page_mkexec(void); 136 + extern void __init efi_runtime_mkexec(void); 135 137 136 138 struct efi_setup_data { 137 139 u64 fw_vendor;
+1 -1
arch/x86/platform/efi/efi-bgrt.c
··· 42 42 43 43 if (bgrt_tab->header.length < sizeof(*bgrt_tab)) 44 44 return; 45 - if (bgrt_tab->version != 1) 45 + if (bgrt_tab->version != 1 || bgrt_tab->status != 1) 46 46 return; 47 47 if (bgrt_tab->image_type != 0 || !bgrt_tab->image_address) 48 48 return;
+2 -3
arch/x86/platform/efi/efi.c
··· 792 792 set_memory_nx(addr, npages); 793 793 } 794 794 795 - static void __init runtime_code_page_mkexec(void) 795 + void __init runtime_code_page_mkexec(void) 796 796 { 797 797 efi_memory_desc_t *md; 798 798 void *p; ··· 1069 1069 efi.update_capsule = virt_efi_update_capsule; 1070 1070 efi.query_capsule_caps = virt_efi_query_capsule_caps; 1071 1071 1072 - if (efi_enabled(EFI_OLD_MEMMAP) && (__supported_pte_mask & _PAGE_NX)) 1073 - runtime_code_page_mkexec(); 1072 + efi_runtime_mkexec(); 1074 1073 1075 1074 kfree(new_memmap); 1076 1075
+6
arch/x86/platform/efi/efi_32.c
··· 77 77 78 78 local_irq_restore(efi_rt_eflags); 79 79 } 80 + 81 + void __init efi_runtime_mkexec(void) 82 + { 83 + if (__supported_pte_mask & _PAGE_NX) 84 + runtime_code_page_mkexec(); 85 + }
+9
arch/x86/platform/efi/efi_64.c
··· 233 233 { 234 234 efi_setup = phys_addr + sizeof(struct setup_data); 235 235 } 236 + 237 + void __init efi_runtime_mkexec(void) 238 + { 239 + if (!efi_enabled(EFI_OLD_MEMMAP)) 240 + return; 241 + 242 + if (__supported_pte_mask & _PAGE_NX) 243 + runtime_code_page_mkexec(); 244 + }