From 9f65ee2cec9469e87484b1a033db2c74fbb7f10b Mon Sep 17 00:00:00 2001 From: Stefan Ginsberg Date: Thu, 14 Aug 2008 16:43:52 +0000 Subject: [PATCH] - Fix MiSyncThreadProcessViews to hack-sync the next thread's ETHREAD too (spotted by Alex) svn path=/trunk/; revision=35342 --- reactos/ntoskrnl/mm/mm.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/reactos/ntoskrnl/mm/mm.c b/reactos/ntoskrnl/mm/mm.c index 948d855eb70..82e9d0d20fc 100644 --- a/reactos/ntoskrnl/mm/mm.c +++ b/reactos/ntoskrnl/mm/mm.c @@ -28,12 +28,14 @@ VOID FASTCALL MiSyncThreadProcessViews(IN PKTHREAD NextThread) { + PVOID Process = PsGetCurrentProcess(); + PETHREAD Thread = CONTAINING_RECORD(NextThread, ETHREAD, Tcb); + /* Hack Sync because Mm is broken */ - MmUpdatePageDir(PsGetCurrentProcess(), - ((PETHREAD)NextThread)->ThreadsProcess, - sizeof(EPROCESS)); - MmUpdatePageDir(PsGetCurrentProcess(), - (PVOID)((PETHREAD)NextThread)->Tcb.StackLimit, + MmUpdatePageDir(Process, Thread, sizeof(ETHREAD)); + MmUpdatePageDir(Process, Thread->ThreadsProcess, sizeof(EPROCESS)); + MmUpdatePageDir(Process, + (PVOID)Thread->Tcb.StackLimit, NextThread->LargeStack ? KERNEL_LARGE_STACK_SIZE : KERNEL_STACK_SIZE); }