From: Dave Martin <Dave.Martin@arm.com>
To: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org, Kees Cook <keescook@chromium.org>,
Thomas Gleixner <tglx@linutronix.de>,
Jann Horn <jannh@google.com>, "H.J. Lu" <hjl.tools@gmail.com>,
Eugene Syromiatnikov <esyr@redhat.com>,
Florian Weimer <fweimer@redhat.com>,
Yu-cheng Yu <yu-cheng.yu@intel.com>,
Peter Zijlstra <peterz@infradead.org>
Subject: [RFC PATCH v2 1/2] ELF: UAPI and Kconfig additions for ELF program properties
Date: Fri, 23 Aug 2019 18:23:39 +0100 [thread overview]
Message-ID: <1566581020-9953-2-git-send-email-Dave.Martin@arm.com> (raw)
In-Reply-To: <1566581020-9953-1-git-send-email-Dave.Martin@arm.com>
Pull the basic ELF definitions from Yu-Cheng Yu's series.
Signed-off-by: Yu-cheng Yu <yu-cheng.yu@intel.com>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
---
This patch should be merged with the next patch.
I kept it seprate for now to document where this code came from.
Changes since RFC v1:
* Move struct gnu_property to <linux/elf.h>. There's currently no
consensus about exactly what this should look like in the public
headers, so keep in private to the kernel for now. Binutils etc.
are using their own definitions anyway.
---
fs/Kconfig.binfmt | 3 +++
include/linux/elf.h | 8 ++++++++
include/uapi/linux/elf.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt
index 62dc4f5..d2cfe07 100644
--- a/fs/Kconfig.binfmt
+++ b/fs/Kconfig.binfmt
@@ -36,6 +36,9 @@ config COMPAT_BINFMT_ELF
config ARCH_BINFMT_ELF_STATE
bool
+config ARCH_USE_GNU_PROPERTY
+ bool
+
config BINFMT_ELF_FDPIC
bool "Kernel support for FDPIC ELF binaries"
default y if !BINFMT_ELF
diff --git a/include/linux/elf.h b/include/linux/elf.h
index e3649b3..4485499 100644
--- a/include/linux/elf.h
+++ b/include/linux/elf.h
@@ -2,6 +2,7 @@
#ifndef _LINUX_ELF_H
#define _LINUX_ELF_H
+#include <linux/types.h>
#include <asm/elf.h>
#include <uapi/linux/elf.h>
@@ -56,4 +57,11 @@ static inline int elf_coredump_extra_notes_write(struct coredump_params *cprm) {
extern int elf_coredump_extra_notes_size(void);
extern int elf_coredump_extra_notes_write(struct coredump_params *cprm);
#endif
+
+/* NT_GNU_PROPERTY_TYPE_0 header */
+struct gnu_property {
+ __u32 pr_type;
+ __u32 pr_datasz;
+};
+
#endif /* _LINUX_ELF_H */
diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h
index 34c02e4..c377314 100644
--- a/include/uapi/linux/elf.h
+++ b/include/uapi/linux/elf.h
@@ -36,6 +36,7 @@ typedef __s64 Elf64_Sxword;
#define PT_LOPROC 0x70000000
#define PT_HIPROC 0x7fffffff
#define PT_GNU_EH_FRAME 0x6474e550
+#define PT_GNU_PROPERTY 0x6474e553
#define PT_GNU_STACK (PT_LOOS + 0x474e551)
--
2.1.4
next prev parent reply other threads:[~2019-08-23 17:23 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-23 17:23 [RFC PATCH v2 0/2] ELF: Alternate program property parser Dave Martin
2019-08-23 17:23 ` Dave Martin
2019-08-23 17:23 ` Dave Martin [this message]
2019-08-23 17:23 ` [RFC PATCH v2 1/2] ELF: UAPI and Kconfig additions for ELF program properties Dave Martin
2019-08-23 17:23 ` [RFC PATCH v2 2/2] ELF: Add ELF program property parsing support Dave Martin
2019-08-23 17:23 ` Dave Martin
2019-08-30 5:37 ` Kees Cook
2019-08-30 5:37 ` Kees Cook
2019-08-30 8:34 ` Dave Martin
2019-08-30 8:34 ` Dave Martin
2019-08-30 17:03 ` Yu-cheng Yu
2019-08-30 17:03 ` Yu-cheng Yu
2019-09-02 9:28 ` Dave Martin
2019-09-02 9:28 ` Dave Martin
2019-09-03 22:29 ` Yu-cheng Yu
2019-09-03 22:29 ` Yu-cheng Yu
2019-09-04 11:05 ` Dave Martin
2019-09-04 11:05 ` Dave Martin
2019-09-04 16:50 ` Kees Cook
2019-09-04 16:50 ` Kees Cook
2019-09-05 7:57 ` Dave Martin
2019-09-05 7:57 ` Dave Martin
2019-10-09 12:59 ` Dave Martin
2019-10-09 12:59 ` Dave Martin
2019-10-10 21:00 ` Kees Cook
2019-10-10 21:00 ` Kees Cook
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=1566581020-9953-2-git-send-email-Dave.Martin@arm.com \
--to=dave.martin@arm.com \
--cc=esyr@redhat.com \
--cc=fweimer@redhat.com \
--cc=hjl.tools@gmail.com \
--cc=jannh@google.com \
--cc=keescook@chromium.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=yu-cheng.yu@intel.com \
/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).