[PATCH 2/2][BZ #12416] Use stack boundaries from /proc/PID/maps to make stack executable
Siddhesh Poyarekar
siddhesh@redhat.com
Mon May 7 03:13:00 GMT 2012
On Fri, 4 May 2012 16:10:20 -0700 (PDT), Roland wrote:
> > One reason is that execstack programs set up by the kernel look
> > different. This is probably just a cosmetic inconsistency, but it
> > is an inconsistency nevertheless. If that is acceptable then we
> > could just make pthread_getattr_np return __libc_stack_end rounded
> > up to page size as the end of stack rather than the real vma end.
>
> I think that's fine. A program that started with its stack
> executable is in fact different from one that loaded a DSO requiring
> executable stack.
>
So would you prefer a fix that does this instead, i.e. just use
__libc_stack_end as the end of stack all the time? I personally prefer
my earlier approach where we don't split the stack vma. I believe
some aspects of the kernel stack accounting also relies on the stack
vma, shown by the fact that the split vma does not show up with
[stack]. This probably should be fixed in the kernel, but we're
breaking that when we could do this in an alternate way.
--
Siddhesh
More information about the Libc-alpha
mailing list