https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ef1c7266213037760a29b…
commit ef1c7266213037760a29b26a057ff92fa2ac283a
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Thu Oct 8 08:39:21 2020 +0200
Commit: Thomas Faber <thomas.faber(a)reactos.org>
CommitDate: Thu Oct 8 08:59:46 2020 +0200
[NTOS:MM] Print debugging information in case CORE-16449 happens.
---
ntoskrnl/mm/ARM3/sysldr.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/ntoskrnl/mm/ARM3/sysldr.c b/ntoskrnl/mm/ARM3/sysldr.c
index 68b2a126089..c66f06c4fe8 100644
--- a/ntoskrnl/mm/ARM3/sysldr.c
+++ b/ntoskrnl/mm/ARM3/sysldr.c
@@ -2409,7 +2409,14 @@ MiSetSystemCodeProtection(
TempPte = *PointerPte;
/* Make sure it's valid */
- ASSERT(TempPte.u.Hard.Valid == 1);
+ if (TempPte.u.Hard.Valid != 1)
+ {
+ DPRINT1("CORE-16449: FirstPte=%p, LastPte=%p, Protection=%lx\n",
FirstPte, LastPte, Protection);
+ DPRINT1("CORE-16449: PointerPte=%p, TempPte=%lx\n", PointerPte,
TempPte.u.Long);
+ DPRINT1("CORE-16449: Please issue the 'mod' and 'bt'
(KDBG) or 'lm' and 'kp' (WinDbg) commands. Then report this in
Jira.\n");
+ ASSERT(TempPte.u.Hard.Valid == 1);
+ break;
+ }
/* Update the protection */
TempPte.u.Hard.Write = BooleanFlagOn(Protection, IMAGE_SCN_MEM_WRITE);