From 0660704b3efd251fd737589d0edba13ffebde0c1 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 23 May 2014 20:45:32 +0200 Subject: Fix guardsize computation * pthread/pt-create.c (__pthread_create_internal): Round guardsize up to page size. Fill `guardsize' field of thread structure. * sysdeps/mach/hurd/i386/pt-setup.c (stack_setup): Add guardsize to computation of the top of the stack. --- pthread/pt-create.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'pthread') diff --git a/pthread/pt-create.c b/pthread/pt-create.c index 8c18902..00884b5 100644 --- a/pthread/pt-create.c +++ b/pthread/pt-create.c @@ -118,10 +118,13 @@ __pthread_create_internal (struct __pthread **thread, { /* Allocate a stack. */ err = __pthread_stack_alloc (&pthread->stackaddr, - setup->guardsize + setup->stacksize); + ((setup->guardsize + __vm_page_size-1) + / __vm_page_size) * __vm_page_size + + setup->stacksize); if (err) goto failed_stack_alloc; + pthread->guardsize = setup->guardsize; pthread->stack = 1; } -- cgit v1.2.3