lkml.org 
[lkml]   [2011]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/40] UAPI: elf_read_implies_exec() is a kernel-only feature - so hide from userspace [ver #3]
    Date
    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>
    ---

    include/linux/elf.h | 18 +++++++++---------
    1 files changed, 9 insertions(+), 9 deletions(-)

    diff --git a/include/linux/elf.h b/include/linux/elf.h
    index 110821c..411d7b8 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;
    @@ -413,6 +404,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 [];
    @@ -436,6 +434,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,


    \
     
     \ /
      Last update: 2011-07-28 17:55    [W:0.023 / U:0.384 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site