Index: ntoskrnl/mm/procsup.c =================================================================== --- ntoskrnl/mm/procsup.c (revision 38142) +++ ntoskrnl/mm/procsup.c (working copy) @@ -259,9 +259,9 @@ 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)) + { /* * We'll give you three more pages. * NOTE: See note in MmCreateKernelStack. These pages are already being reserved. @@ -271,6 +271,10 @@ /* Return success */ return STATUS_SUCCESS; + } + + DPRINT1("MmGrowKernelStack failed\n"); + return STATUS_UNSUCCESSFUL; } NTSTATUS Index: ntoskrnl/mm/mpw.c =================================================================== --- ntoskrnl/mm/mpw.c (revision 38142) +++ ntoskrnl/mm/mpw.c (working copy) @@ -88,7 +88,7 @@ MmWriteDirtyPages(128, &PagesWritten); #endif - CcRosFlushDirtyPages(128, &PagesWritten); + // CcRosFlushDirtyPages(128, &PagesWritten); } }