On Fri, Feb 3, 2012 at 1:31 PM, KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxx> wrote: > The fact is, now process stack and pthread stack clearly behave > different dance. libc don't expect pthread stack grow automatically. > So, your patch will break userland. Just only change display thing. The change should not make thread stacks (as implemented by glibc) grow automatically in the general case since it has to implement guard page(s) at the beginning of the mapped memory for stack using mprotect(top, size, PROT_NONE). Due to this, the program will crash before it ever has a chance to cause a page fault to make the stack grow. This is of course assuming that the program doesn't purposely jump over the guard page(s) by setting %sp beyond them and then causing a page fault. So the only case in which a thread stack will grow automatically is if the stackguard is set to 0: http://pubs.opengroup.org/onlinepubs/007904975/functions/pthread_attr_setguardsize.html I have also dropped an email on the libc-alpha list here to solicit comments from libc maintainers on this: http://sourceware.org/ml/libc-alpha/2012-02/msg00036.html -- Siddhesh Poyarekar http://siddhesh.in -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>