diff options
author | Borislav Petkov <bp@suse.de> | 2014-02-14 11:24:24 +0400 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2014-02-14 13:30:19 +0400 |
commit | c55d016f7a930dd1c995336017123b469a8c8f5a (patch) | |
tree | 428d313b67fe1cf2fc9e3c9e1ecc8e989726059f /arch/x86/platform/efi/efi_64.c | |
parent | b28a960c42fcd9cfc987441fa6d1c1a471f0f9ed (diff) | |
download | linux-c55d016f7a930dd1c995336017123b469a8c8f5a.tar.xz |
x86/efi: Fix 32-bit fallout
We do not enable the new efi memmap on 32-bit and thus we need to run
runtime_code_page_mkexec() unconditionally there. Fix that.
Reported-and-tested-by: Lejun Zhu <lejun.zhu@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'arch/x86/platform/efi/efi_64.c')
-rw-r--r-- | arch/x86/platform/efi/efi_64.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c index 6284f158a47d..0c2a234fef1e 100644 --- a/arch/x86/platform/efi/efi_64.c +++ b/arch/x86/platform/efi/efi_64.c @@ -233,3 +233,12 @@ void __init parse_efi_setup(u64 phys_addr, u32 data_len) { efi_setup = phys_addr + sizeof(struct setup_data); } + +void __init efi_runtime_mkexec(void) +{ + if (!efi_enabled(EFI_OLD_MEMMAP)) + return; + + if (__supported_pte_mask & _PAGE_NX) + runtime_code_page_mkexec(); +} |