[ros-diffs] [tkreuzer] 41106: MmGrowKernelStack: go back to the ASSERT and add a fixed check
Alex Ionescu
ionucu at videotron.ca
Mon May 25 08:54:11 CEST 2009
Sorry for not replying to e-mails about this -- I was on vacation on a cruise.
When I'm back to Montreal I'll write a driver to test if this is
correct or not -- but definitely this is better.
Best regards,
Alex Ionescu
On Mon, May 25, 2009 at 1:17 AM, <tkreuzer at svn.reactos.org> wrote:
> Author: tkreuzer
> Date: Mon May 25 03:17:48 2009
> New Revision: 41106
>
> URL: http://svn.reactos.org/svn/reactos?rev=41106&view=rev
> Log:
> MmGrowKernelStack: go back to the ASSERT and add a fixed check
>
> 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=41106&r1=41105&r2=41106&view=diff
> ==============================================================================
> --- trunk/reactos/ntoskrnl/mm/procsup.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/mm/procsup.c [iso-8859-1] Mon May 25 03:17:48 2009
> @@ -258,11 +258,15 @@
> {
> PETHREAD Thread = PsGetCurrentThread();
>
> - /* Make sure we have reserved space for our grow */
> - if (((PCHAR)Thread->Tcb.StackBase - (PCHAR)Thread->Tcb.StackLimit) >
> - (KERNEL_LARGE_STACK_SIZE + PAGE_SIZE))
> - {
> - return STATUS_NO_MEMORY;
> + /* Make sure the stack did not overflow */
> + ASSERT(((PCHAR)Thread->Tcb.StackBase - (PCHAR)Thread->Tcb.StackLimit) <=
> + (KERNEL_LARGE_STACK_SIZE + PAGE_SIZE));
> +
> + /* Check if we have reserved space for our grow */
> + if ((PCHAR)Thread->Tcb.StackBase - (PCHAR)Thread->Tcb.StackLimit +
> + KERNEL_STACK_SIZE > KERNEL_LARGE_STACK_SIZE)
> + {
> + return STATUS_STACK_OVERFLOW;
> }
>
> /*
>
>
More information about the Ros-diffs
mailing list