From f8459fbb454871cc79e54215d0b68029fb698ca4 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 26 Oct 2011 14:38:57 +0000 Subject: [PATCH] [NTOSKRNL] - Pass a placeholder trap information, indicating that we are unlocked, to MmAccessFault in MmProbeAndLockPages as temporary hack until Mm locking is fixed - Fixes "Assertion 'GuardedMutex->Owner == KeGetCurrentThread()' failed" when faulting in pages via MmProbeAndLockPages - Dedicated to Jim :) svn path=/trunk/; revision=54256 --- reactos/ntoskrnl/mm/ARM3/mdlsup.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/reactos/ntoskrnl/mm/ARM3/mdlsup.c b/reactos/ntoskrnl/mm/ARM3/mdlsup.c index 5a9f0febcb6..ede078ee183 100644 --- a/reactos/ntoskrnl/mm/ARM3/mdlsup.c +++ b/reactos/ntoskrnl/mm/ARM3/mdlsup.c @@ -861,7 +861,9 @@ MmProbeAndLockPages(IN PMDL Mdl, // Access the page // Address = MiPteToAddress(PointerPte); - Status = MmAccessFault(FALSE, Address, KernelMode, NULL); + + //HACK: Pass a placeholder TrapInformation so the fault handler knows we're unlocked + Status = MmAccessFault(FALSE, Address, KernelMode, (PVOID)0xBADBADA3); if (!NT_SUCCESS(Status)) { // @@ -928,7 +930,9 @@ MmProbeAndLockPages(IN PMDL Mdl, // // Access the page // - Status = MmAccessFault(TRUE, Address, KernelMode, NULL); + + //HACK: Pass a placeholder TrapInformation so the fault handler knows we're unlocked + Status = MmAccessFault(TRUE, Address, KernelMode, (PVOID)0xBADBADA3); if (!NT_SUCCESS(Status)) { //