This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/2][BZ #12416] Use stack boundaries from /proc/PID/mapsto make stack executable
- From: KOSAKI Motohiro <kosaki dot motohiro at gmail dot com>
- To: Siddhesh Poyarekar <siddhesh at redhat dot com>
- Cc: kosaki dot motohiro at gmail dot com, Roland McGrath <roland at hack dot frob dot com>, libc-alpha at sourceware dot org
- Date: Tue, 12 Jun 2012 13:20:42 -0400
- Subject: Re: [PATCH 2/2][BZ #12416] Use stack boundaries from /proc/PID/mapsto make stack executable
- References: <20120419120021.4780e8c8@spoyarek> <20120425203424.A744A2C0CA@topped-with-meat.com> <20120426123653.765f1462@spoyarek> <20120504231020.AF7C92C093@topped-with-meat.com> <20120507084337.6d1ea127@spoyarek> <20120507200221.963992C099@topped-with-meat.com> <20120508161750.063e9791@spoyarek> <20120514234622.30D472C09E@topped-with-meat.com> <20120515081610.1b4aee17@spoyarek> <20120515163033.CD04B2C08B@topped-with-meat.com> <20120516123338.55cd9a34@spoyarek> <CAHGf_=p3QUrym2+LBSsB+n0faog=kSK1bTu-AAnCCGYxbDEUkw@mail.gmail.com> <20120612030815.5ce0d91f@spoyarek> <CAHGf_=pgJ9wL5x=Xb6unVScv86JS=8S=tU7oufAygGkm3U4ZQQ@mail.gmail.com> <20120612202506.0ac2af9e@spoyarek>
(6/12/12 10:55 AM), Siddhesh Poyarekar wrote:
On Mon, 11 Jun 2012 18:43:17 -0400, KOSAKI wrote:
If my parsing is correct, following adjustment only works when
previous vma is enough near.
/* The limit might be too high. */
if ((size_t) iattr->stacksize
> (size_t) iattr->stackaddr - last_to)
iattr->stacksize = (size_t) iattr->stackaddr
- last_to;
Am I missing something?
No you're right, I missed that point. I'll post a patch once I figure
out a reproducer, because I'd like to capture it in a test case.
btw, I think non main thread stack size also violate same sentence in posix.
because of, nptl pthread_setstacksize() set "stack size + guard-page size",
but posix require pthread_attr_getstack() should return only read/write pages.
As far as reading following threads,
http://sources.redhat.com/ml/libc-alpha/2008-05/msg00086.html
https://bugzilla.redhat.com/show_bug.cgi?id=435337
pthread_setstacksize() behavior seems intentional. (really?). if so,
pthread_attr_getstack() should care guard page instead, perhaps.
Of course, this is completely unrelated your recent change. surely offtopic.