diff options
author | Gabriel Krisman Bertazi <krisman@collabora.com> | 2020-10-03 23:25:33 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-10-26 13:46:47 +0100 |
commit | 9a29a671902c2be05d636045a4dd365219ca716c (patch) | |
tree | 3c9d6f15e1bb6619211073a8cde72cb0d8aeb6b2 /include/linux/elf.h | |
parent | 2424b14605c71a7187c14edd525044eb36bdea47 (diff) | |
download | linux-9a29a671902c2be05d636045a4dd365219ca716c.tar.gz linux-9a29a671902c2be05d636045a4dd365219ca716c.tar.bz2 linux-9a29a671902c2be05d636045a4dd365219ca716c.zip |
elf: Expose ELF header on arch_setup_additional_pages()
Like it is done for SET_PERSONALITY with ARM, which requires the ELF
header to select correct personality parameters, x86 requires the
headers when selecting which VDSO to load, instead of relying on the
going-away TIF_IA32/X32 flags.
Add an indirection macro to arch_setup_additional_pages(), that x86 can
reimplement to receive the extra parameter just for ELF files. This
requires no changes to other architectures, who can continue to use the
original arch_setup_additional_pages for ELF and non-ELF binaries.
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20201004032536.1229030-8-krisman@collabora.com
Diffstat (limited to 'include/linux/elf.h')
-rw-r--r-- | include/linux/elf.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/elf.h b/include/linux/elf.h index 6dbcfe7a3fd7..c9a46c4e183b 100644 --- a/include/linux/elf.h +++ b/include/linux/elf.h @@ -27,6 +27,11 @@ start_thread(regs, elf_entry, start_stack) #endif +#if defined(ARCH_HAS_SETUP_ADDITIONAL_PAGES) && !defined(ARCH_SETUP_ADDITIONAL_PAGES) +#define ARCH_SETUP_ADDITIONAL_PAGES(bprm, ex, interpreter) \ + arch_setup_additional_pages(bprm, interpreter) +#endif + #define ELF32_GNU_PROPERTY_ALIGN 4 #define ELF64_GNU_PROPERTY_ALIGN 8 |