Index: ntoskrnl/mm/ARM3/miarm.h =================================================================== --- ntoskrnl/mm/ARM3/miarm.h (revision 60603) +++ ntoskrnl/mm/ARM3/miarm.h (working copy) @@ -1307,8 +1307,8 @@ VOID MiUnlockProcessWorkingSetForFault(IN PEPROCESS Process, IN PETHREAD Thread, - IN BOOLEAN Safe, - IN BOOLEAN Shared) + OUT PBOOLEAN Safe, + OUT PBOOLEAN Shared) { ASSERT(MI_WS_OWNER(Process)); @@ -1317,22 +1317,22 @@ { /* Release unsafely */ MiUnlockProcessWorkingSetUnsafe(Process, Thread); - Safe = FALSE; - Shared = FALSE; + *Safe = FALSE; + *Shared = FALSE; } else if (Thread->OwnsProcessWorkingSetExclusive == 1) { /* Owner is safe and exclusive, release normally */ MiUnlockProcessWorkingSet(Process, Thread); - Safe = TRUE; - Shared = FALSE; + *Safe = TRUE; + *Shared = FALSE; } else { /* Owner is shared (implies safe), release normally */ ASSERT(FALSE); - Safe = TRUE; - Shared = TRUE; + *Safe = TRUE; + *Shared = TRUE; } } Index: ntoskrnl/mm/ARM3/virtual.c =================================================================== --- ntoskrnl/mm/ARM3/virtual.c (revision 60603) +++ ntoskrnl/mm/ARM3/virtual.c (working copy) @@ -223,8 +223,8 @@ /* Release the working set lock */ MiUnlockProcessWorkingSetForFault(CurrentProcess, CurrentThread, - WsSafe, - WsShared); + &WsSafe, + &WsShared); /* Fault it in */ Status = MmAccessFault(FALSE, PageTableVirtualAddress, KernelMode, NULL);