Author: cgutman
Date: Wed Oct 26 14:38:57 2011
New Revision: 54256

URL: http://svn.reactos.org/svn/reactos?rev=54256&view=rev
Log:
[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 :)

Modified:
    trunk/reactos/ntoskrnl/mm/ARM3/mdlsup.c

Modified: trunk/reactos/ntoskrnl/mm/ARM3/mdlsup.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/mdlsup.c?rev=54256&r1=54255&r2=54256&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/mdlsup.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/mdlsup.c [iso-8859-1] Wed Oct 26 14:38:57 
2011
@@ -861,7 +861,9 @@
             // 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 @@
                         //
                         // 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))
                         {
                             //


Reply via email to