This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC PATCH V2 02/10] C-SKY: TLS support


Thx Joseph,

On Thu, Apr 26, 2018 at 04:00:17PM +0000, Joseph Myers wrote:
> I believe the relevant kernel definitions to check, to make sure that the 
> kernel does not give execute permissions to stack pages by default, are 
> elf_read_implies_exec and VM_STACK_DEFAULT_FLAGS / VM_DATA_DEFAULT_FLAGS.
For c-sky kernel:
 - elf_read_implies_exec is return 0 which defined in include/linux/elf.h
 - VM_STACK_DEFAUT_FLAGS is the same with VM_DATA_DEFAULT_FAGS defined
   in include/linux/mm.h.
 - VM_DATA_DEFAULT_FLAGS is defined in csky/include/asm/page.h:
     #define VM_DATA_DEFAULT_FLAGS \
               (VM_READ    | VM_WRITE    | VM_EXEC | \
                VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)

And our hardware mmu tlb-entry do not have EXEC bit to protect the
page-non-exec.
So we put VM_EXEC as default in VM_DATA_DEFAULT_FLAGS.

Use generic elf_read_implies_exec seems wrong and we should "return 1",
isn't it?

Best Regards
 Guo Ren


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]