From ef1c7266213037760a29b26a057ff92fa2ac283a Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Thu, 8 Oct 2020 08:39:21 +0200 Subject: [PATCH] [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);