This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] Cygwin: Fixing the math behind rounding down ch.stacklimit to page size.
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 29 May 2018 16:44:33 -0000
- Subject: [newlib-cygwin] Cygwin: Fixing the math behind rounding down ch.stacklimit to page size.
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=06797545b3270f8cfafe1d8314970dc705f29d39
commit 06797545b3270f8cfafe1d8314970dc705f29d39
Author: Sergejs Lukanihins <slukanihin@gmail.com>
Date: Fri May 25 17:27:21 2018 +0100
Cygwin: Fixing the math behind rounding down ch.stacklimit to page size.
Diff:
---
winsup/cygwin/fork.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index bcbef12..c6fef67 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -316,7 +316,7 @@ frok::parent (volatile char * volatile stack_here)
on whether we're running on a pthread or not. If pthread, we fetch
the guardpage size from the pthread attribs, otherwise we use the
system default. */
- ch.stacklimit = (void *) ((uintptr_t) stack_here & ~wincap.page_size ());
+ ch.stacklimit = (void *) ((uintptr_t) stack_here & ~(wincap.page_size () - 1));
ch.guardsize = (&_my_tls != _main_tls && _my_tls.tid)
? _my_tls.tid->attr.guardsize
: wincap.def_guard_page_size ();