From: "tip-bot2 for Gabriel Krisman Bertazi" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Gabriel Krisman Bertazi <krisman@collabora.com>,
Thomas Gleixner <tglx@linutronix.de>, x86 <x86@kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: [tip: x86/cleanups] elf: Expose ELF header on arch_setup_additional_pages()
Date: Mon, 26 Oct 2020 12:52:34 -0000 [thread overview]
Message-ID: <160371675422.397.2436396266153701102.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20201004032536.1229030-8-krisman@collabora.com>
The following commit has been merged into the x86/cleanups branch of tip:
Commit-ID: 9a29a671902c2be05d636045a4dd365219ca716c
Gitweb: https://git.kernel.org/tip/9a29a671902c2be05d636045a4dd365219ca716c
Author: Gabriel Krisman Bertazi <krisman@collabora.com>
AuthorDate: Sat, 03 Oct 2020 23:25:33 -04:00
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Mon, 26 Oct 2020 13:46:47 +01:00
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
---
fs/binfmt_elf.c | 2 +-
fs/compat_binfmt_elf.c | 11 ++++++++---
include/linux/elf.h | 5 +++++
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index b23f755..aabc11f 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -1246,7 +1246,7 @@ out_free_interp:
set_binfmt(&elf_format);
#ifdef ARCH_HAS_SETUP_ADDITIONAL_PAGES
- retval = arch_setup_additional_pages(bprm, !!interpreter);
+ retval = ARCH_SETUP_ADDITIONAL_PAGES(bprm, elf_ex, !!interpreter);
if (retval < 0)
goto out;
#endif /* ARCH_HAS_SETUP_ADDITIONAL_PAGES */
diff --git a/fs/compat_binfmt_elf.c b/fs/compat_binfmt_elf.c
index 12b9913..2c55722 100644
--- a/fs/compat_binfmt_elf.c
+++ b/fs/compat_binfmt_elf.c
@@ -115,11 +115,16 @@
#define START_THREAD COMPAT_START_THREAD
#endif
-#ifdef compat_arch_setup_additional_pages
+#ifdef compat_arch_setup_additional_pages
+#define COMPAT_ARCH_SETUP_ADDITIONAL_PAGES(bprm, ex, interpreter) \
+ compat_arch_setup_additional_pages(bprm, interpreter)
+#endif
+
+#ifdef COMPAT_ARCH_SETUP_ADDITIONAL_PAGES
#undef ARCH_HAS_SETUP_ADDITIONAL_PAGES
#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
-#undef arch_setup_additional_pages
-#define arch_setup_additional_pages compat_arch_setup_additional_pages
+#undef ARCH_SETUP_ADDITIONAL_PAGES
+#define ARCH_SETUP_ADDITIONAL_PAGES COMPAT_ARCH_SETUP_ADDITIONAL_PAGES
#endif
#ifdef compat_elf_read_implies_exec
diff --git a/include/linux/elf.h b/include/linux/elf.h
index 6dbcfe7..c9a46c4 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
next prev parent reply other threads:[~2020-10-26 12:53 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-04 3:25 [PATCH v3 00/10] Reclaim TIF_IA32 and TIF_X32 Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 01/10] x86: events: Avoid TIF_IA32 when checking 64bit mode Gabriel Krisman Bertazi
2020-10-26 12:52 ` [tip: x86/cleanups] perf/x86: " tip-bot2 for Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 02/10] x86: Simplify compat syscall userspace allocation Gabriel Krisman Bertazi
2020-10-26 12:52 ` [tip: x86/cleanups] x86/compat: " tip-bot2 for Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 03/10] x86: oprofile: Avoid TIF_IA32 when checking 64bit mode Gabriel Krisman Bertazi
2020-10-26 12:52 ` [tip: x86/cleanups] x86/oprofile: " tip-bot2 for Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 04/10] x86: elf: Use e_machine to choose DLINFO in compat Gabriel Krisman Bertazi
2020-10-26 12:52 ` [tip: x86/cleanups] x86/elf: " tip-bot2 for Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 05/10] elf: Expose ELF header in compat_start_thread Gabriel Krisman Bertazi
2020-10-26 12:52 ` [tip: x86/cleanups] elf: Expose ELF header in compat_start_thread() tip-bot2 for Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 06/10] x86: elf: Use e_machine to select start_thread for x32 Gabriel Krisman Bertazi
2020-10-08 0:05 ` Andy Lutomirski
2020-10-26 12:52 ` [tip: x86/cleanups] x86/elf: " tip-bot2 for Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 07/10] elf: Expose ELF header on arch_setup_additional_pages Gabriel Krisman Bertazi
2020-10-26 12:52 ` tip-bot2 for Gabriel Krisman Bertazi [this message]
2020-10-04 3:25 ` [PATCH v3 08/10] x86: elf: Use e_machine to select additional_pages between x32 Gabriel Krisman Bertazi
2020-10-26 12:52 ` [tip: x86/cleanups] x86/elf: Use e_machine to check for x32/ia32 in setup_additional_pages() tip-bot2 for Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 09/10] x86: Convert mmu context ia32_compat into a proper flags field Gabriel Krisman Bertazi
2020-10-08 0:07 ` Andy Lutomirski
2020-10-26 12:52 ` [tip: x86/cleanups] x86/mm: " tip-bot2 for Gabriel Krisman Bertazi
2020-10-04 3:25 ` [PATCH v3 10/10] x86: Reclaim TIF_IA32 and TIF_X32 Gabriel Krisman Bertazi
2020-10-26 12:52 ` [tip: x86/cleanups] " tip-bot2 for Gabriel Krisman Bertazi
2020-11-05 20:01 ` [PATCH v3 10/10] " Dmitry Safonov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=160371675422.397.2436396266153701102.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=krisman@collabora.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).