Message ID | 20200212192906.53366-2-broonie@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: Branch Target Identification support | expand |
On Wed, Feb 12, 2020 at 07:28:56PM +0000, Mark Brown wrote: > From: Dave Martin <Dave.Martin@arm.com> > > Pull the basic ELF definitions relating to the > NT_GNU_PROPERTY_TYPE_0 note from Yu-Cheng Yu's earlier x86 shstk > series. Both BTI and SHSTK depend on this. If BTI doesn't land soon, can this and patch 2 land separately? I don't like seeing the older version in the SHSTK series -- I worry there will be confusion and the BTI version (which is more up to date) will get missed. What's left to land BTI support?
On Tue, Feb 25, 2020 at 09:49:35PM -0800, Kees Cook wrote: > Both BTI and SHSTK depend on this. If BTI doesn't land soon, can this > and patch 2 land separately? I don't like seeing the older version in > the SHSTK series -- I worry there will be confusion and the BTI version > (which is more up to date) will get missed. Please. > What's left to land BTI support? As far as I'm aware it's basically good to go, there's been no really substantial feedback in the months I've been pushing it, just fairly trivial stuff and rebases - it's going to need another resend for your comment just now about moving a hunk forward to a different patch for example.
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt index 62dc4f577ba1..d2cfe0729a73 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 e3649b3e970e..459cddcceaac 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 34c02e4290fe..c37731407074 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)