diff --git a/reactos/ntoskrnl/mm/ARM3/miarm.h b/reactos/ntoskrnl/mm/ARM3/miarm.h index e221f8f718a..67980ace8ca 100644 --- a/reactos/ntoskrnl/mm/ARM3/miarm.h +++ b/reactos/ntoskrnl/mm/ARM3/miarm.h @@ -1307,8 +1307,8 @@ FORCEINLINE 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 @@ MiUnlockProcessWorkingSetForFault(IN PEPROCESS Process, { /* 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; } } diff --git a/reactos/ntoskrnl/mm/ARM3/virtual.c b/reactos/ntoskrnl/mm/ARM3/virtual.c index b618a836ad8..2b29549c7f8 100644 --- a/reactos/ntoskrnl/mm/ARM3/virtual.c +++ b/reactos/ntoskrnl/mm/ARM3/virtual.c @@ -223,8 +223,8 @@ MiMakeSystemAddressValid(IN PVOID PageTableVirtualAddress, /* Release the working set lock */ MiUnlockProcessWorkingSetForFault(CurrentProcess, CurrentThread, - WsSafe, - WsShared); + &WsSafe, + &WsShared); /* Fault it in */ Status = MmAccessFault(FALSE, PageTableVirtualAddress, KernelMode, NULL);