CORE-6639 #resolve #time 1d #comment Guard pages now work ;-)
authorAlex Ionescu <aionescu@gmail.com>
Thu, 29 Aug 2013 07:33:10 +0000 (07:33 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Thu, 29 Aug 2013 07:33:10 +0000 (07:33 +0000)
commit1bc59379598fd5fad8ef85120f48da3cd5339b8b
tree695e78c465a2b6cc1c967f20ce0d3e4b889e97de
parentb840c2367f44e5fae731b1f00c37a2b63740ee21
CORE-6639 #resolve #time 1d #comment Guard pages now work ;-)
[NDK]: Fix definition of a global flag.
[RTL]: RtlpCreateUserStack: 1) If the image is invalid, bail out. 2) If the stack commit is higher than reserve, adjust reserve. 3) After allocating a guard page, the stack limit is now ABOVE the guard page, not BELOW it (stack grows backward!).
[RTL]: Remove the hack which always Commited the "StackReserve" value. Threads now have a 4-64KB stack, instead of a 1MB stack.
[NTOSKRNL]: Implement MiAccessCheck and MiCheckForUserStackOverflow, which handle guard page + stack expansion.
[USER32]: Because threads now correctly run with a smaller stack than usual (and expand as needed), remove some checks in user-mode callbacks which forced larger stacks.

svn path=/trunk/; revision=59868
reactos/include/ndk/pstypes.h
reactos/lib/rtl/thread.c
reactos/ntoskrnl/mm/ARM3/pagfault.c
reactos/win32ss/user/user32/windows/message.c