[ros-diffs] [sginsberg] 56335: - It seems the remaining page fault issue was fixed as well in 56333, so it should now be safe to enable this check. Finally, it is now illegal to page fault in ReactOS with inte...

sginsberg at svn.reactos.org sginsberg at svn.reactos.org
Sat Apr 7 01:18:36 UTC 2012


Author: sginsberg
Date: Sat Apr  7 01:18:36 2012
New Revision: 56335

URL: http://svn.reactos.org/svn/reactos?rev=56335&view=rev
Log:
- It seems the remaining page fault issue was fixed as well in 56333, so it should now be safe to enable this check. Finally, it is now illegal to page fault in ReactOS with interrupts disabled, as it should be. Previous attempts to fix this were likely hindered by the old memory manager, but ARM3 seems to do its job and doesn't fault on non-paged memory that I believe the old Mm was doing.
- Hacks--;

Modified:
    trunk/reactos/ntoskrnl/ke/i386/traphdlr.c

Modified: trunk/reactos/ntoskrnl/ke/i386/traphdlr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/traphdlr.c?rev=56335&r1=56334&r2=56335&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/traphdlr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/i386/traphdlr.c [iso-8859-1] Sat Apr  7 01:18:36 2012
@@ -1190,8 +1190,7 @@
     /* Enable interupts */
     _enable();
 
-#if 0
-    /* Check if we faulted with interrupts disabled */
+    /* Check if we came in with interrupts disabled */
     if (!(TrapFrame->EFlags & EFLAGS_INTERRUPT_MASK))
     {
         /* This is completely illegal, bugcheck the system */
@@ -1202,14 +1201,6 @@
                          TrapFrame->Eip,
                          TrapFrame);
     }
-#else
-    if (!(TrapFrame->EFlags & EFLAGS_INTERRUPT_MASK))
-    {
-        /* Warn and dump stack */
-        DPRINT1("Page fault with interrupts disabled!\n");
-        KeRosDumpStackFrames(NULL, 0);
-    }
-#endif
 
     /* Check for S-LIST fault in kernel mode */
     if (TrapFrame->Eip == (ULONG_PTR)ExpInterlockedPopEntrySListFault)




More information about the Ros-diffs mailing list