summaryrefslogtreecommitdiffstats
path: root/include/linux/elf.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2011-12-12 13:54:36 +0000
committerDavid Howells <dhowells@redhat.com>2011-12-12 13:54:36 +0000
commit267aed9dfeb2225960043f89db1f58d8ab522797 (patch)
tree794f2cddcbed60292a838c13eb82f266a0075359 /include/linux/elf.h
parent070712c6cd8a02e57506ebf52d7c6056d7535b42 (diff)
downloadlinux-267aed9dfeb2225960043f89db1f58d8ab522797.tar.gz
linux-267aed9dfeb2225960043f89db1f58d8ab522797.tar.bz2
linux-267aed9dfeb2225960043f89db1f58d8ab522797.zip
UAPI: elf_read_implies_exec() is a kernel-only feature - so hide from userspace
elf_read_implies_exec() is a kernel-only feature as the second parameter is a constant that isn't exported to userspace. Not only that, but the arch-specific overrides are not exported either. So hide the macro from userspace. Similarly, struct file should not be predeclared in userspace. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include/linux/elf.h')
-rw-r--r--include/linux/elf.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/include/linux/elf.h b/include/linux/elf.h
index 31f0508d7da7..999b4f52e8e5 100644
--- a/include/linux/elf.h
+++ b/include/linux/elf.h
@@ -7,15 +7,6 @@
#include <asm/elf.h>
#endif
-struct file;
-
-#ifndef elf_read_implies_exec
- /* Executables for which elf_read_implies_exec() returns TRUE will
- have the READ_IMPLIES_EXEC personality flag set automatically.
- Override in asm/elf.h as needed. */
-# define elf_read_implies_exec(ex, have_pt_gnu_stack) 0
-#endif
-
/* 32-bit ELF base types. */
typedef __u32 Elf32_Addr;
typedef __u16 Elf32_Half;
@@ -414,6 +405,13 @@ typedef struct elf64_note {
} Elf64_Nhdr;
#ifdef __KERNEL__
+#ifndef elf_read_implies_exec
+ /* Executables for which elf_read_implies_exec() returns TRUE will
+ have the READ_IMPLIES_EXEC personality flag set automatically.
+ Override in asm/elf.h as needed. */
+# define elf_read_implies_exec(ex, have_pt_gnu_stack) 0
+#endif
+
#if ELF_CLASS == ELFCLASS32
extern Elf32_Dyn _DYNAMIC [];
@@ -437,6 +435,8 @@ extern Elf64_Dyn _DYNAMIC [];
#endif
/* Optional callbacks to write extra ELF notes. */
+struct file;
+
#ifndef ARCH_HAVE_EXTRA_ELF_NOTES
static inline int elf_coredump_extra_notes_size(void) { return 0; }
static inline int elf_coredump_extra_notes_write(struct file *file,