mirror of
https://github.com/reactos/reactos.git
synced 2025-05-17 16:27:00 +00:00
[NTOSKRNL]
Check the PTE as well in MmArmAccessFault, when we are at high IRQL and fail if it's not valid. Otherwise we just end up in an endless loop. svn path=/trunk/; revision=61075
This commit is contained in:
parent
d018fb6027
commit
cd2e06b94c
1 changed files with 4 additions and 3 deletions
|
@ -1365,9 +1365,10 @@ MmArmAccessFault(IN BOOLEAN StoreInstruction,
|
|||
#if (_MI_PAGING_LEVELS >= 3)
|
||||
(PointerPpe->u.Hard.Valid == 0) ||
|
||||
#endif
|
||||
(PointerPde->u.Hard.Valid == 0))
|
||||
(PointerPde->u.Hard.Valid == 0) ||
|
||||
(PointerPte->u.Hard.Valid == 0))
|
||||
{
|
||||
/* This fault is not valid, printf out some debugging help */
|
||||
/* This fault is not valid, print out some debugging help */
|
||||
DbgPrint("MM:***PAGE FAULT AT IRQL > 1 Va %p, IRQL %lx\n",
|
||||
Address,
|
||||
OldIrql);
|
||||
|
@ -1411,7 +1412,7 @@ MmArmAccessFault(IN BOOLEAN StoreInstruction,
|
|||
}
|
||||
|
||||
/* Nothing is actually wrong */
|
||||
DPRINT1("Fault at IRQL1 is ok\n");
|
||||
DPRINT1("Fault at IRQL %u is ok (%p)\n", OldIrql, Address);
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue