diff --git a/reactos/ntoskrnl/ke/i386/syscall.S b/reactos/ntoskrnl/ke/i386/syscall.S index 5298d925e11..7fc9b7372df 100644 --- a/reactos/ntoskrnl/ke/i386/syscall.S +++ b/reactos/ntoskrnl/ke/i386/syscall.S @@ -614,12 +614,16 @@ KiBBTUnexpectedRange: /* Set up Win32K Table */ push edx push ebx - call _KiServiceCheck + call _KiServiceCheck@0 /* FIXME: Handle failure */ pop eax pop edx + /* Reset trap frame address */ + mov ebp, esp + mov [esi+KTHREAD_TRAP_FRAME], ebp + /* Try the Call again */ jmp CheckValidCall diff --git a/reactos/ntoskrnl/ke/kthread.c b/reactos/ntoskrnl/ke/kthread.c index 2ea10910447..72a643a1e78 100644 --- a/reactos/ntoskrnl/ke/kthread.c +++ b/reactos/ntoskrnl/ke/kthread.c @@ -1467,7 +1467,8 @@ KeTestAlertThread(IN KPROCESSOR_MODE AlertMode) } VOID -KiServiceCheck (VOID) +NTAPI +KiServiceCheck(VOID) { PKTHREAD Thread = KeGetCurrentThread(); diff --git a/reactos/ntoskrnl/mm/mm.c b/reactos/ntoskrnl/mm/mm.c index 630e25a238a..686cd46b34d 100644 --- a/reactos/ntoskrnl/mm/mm.c +++ b/reactos/ntoskrnl/mm/mm.c @@ -405,21 +405,6 @@ MmDbgTranslatePhysicalAddress ( return (0); } - -/* - * @unimplemented - */ -NTSTATUS -STDCALL -MmGrowKernelStack ( - DWORD Unknown0 -) -{ - UNIMPLEMENTED; - return (STATUS_NOT_IMPLEMENTED); -} - - /* * @unimplemented */ diff --git a/reactos/ntoskrnl/mm/process.c b/reactos/ntoskrnl/mm/process.c index 45d2631050d..1b408e61263 100644 --- a/reactos/ntoskrnl/mm/process.c +++ b/reactos/ntoskrnl/mm/process.c @@ -185,9 +185,22 @@ MmCreateKernelStack(BOOLEAN GuiStack) KEBUGCHECK(0); } + /* Return the stack */ return KernelStack; } +/* + * @implemented + */ +NTSTATUS +STDCALL +MmGrowKernelStack(PVOID StackPointer) +{ + DPRINT1("We don't support expansion yet :(\n"); + KEBUGCHECK(0); + return STATUS_NOT_IMPLEMENTED; +} + NTSTATUS STDCALL MmCreatePeb(PEPROCESS Process)