The code SHOULD assert. This is a hack. Best regards, Alex Ionescu On Sun, May 17, 2009 at 11:51 PM, <tkreuzer@svn.reactos.org> wrote:Author: tkreuzer Date: Mon May 18 01:51:31 2009 New Revision: 40963 URL: http://svn.reactos.org/svn/reactos?rev=40963&view=rev Log: MmGrowKernelStack: Don't assert, but fail, when the kernel stack can't grow any more. Fixes a crash with recursive user calls. See issue #4060 for more details. Modified: trunk/reactos/ntoskrnl/mm/procsup.c Modified: trunk/reactos/ntoskrnl/mm/procsup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/procsup.c?rev=40963&r1=40962&r2=40963&view=diff ============================================================================== --- trunk/reactos/ntoskrnl/mm/procsup.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/procsup.c [iso-8859-1] Mon May 18 01:51:31 2009 @@ -259,8 +259,11 @@ PETHREAD Thread = PsGetCurrentThread(); /* Make sure we have reserved space for our grow */ - ASSERT(((PCHAR)Thread->Tcb.StackBase - (PCHAR)Thread->Tcb.StackLimit) <= - (KERNEL_LARGE_STACK_SIZE + PAGE_SIZE)); + if (((PCHAR)Thread->Tcb.StackBase - (PCHAR)Thread->Tcb.StackLimit) > + (KERNEL_LARGE_STACK_SIZE + PAGE_SIZE)) + { + return STATUS_NO_MEMORY; + } /* * We'll give you three more pages.
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev