https://git.reactos.org/?p=reactos.git;a=commitdiff;h=969e60a06d354bd718860…
commit 969e60a06d354bd7188601a0307eb93a240b1a2f
Author: Jérôme Gardou <jerome.gardou(a)reactos.org>
AuthorDate: Wed May 19 23:53:57 2021 +0200
Commit: Jérôme Gardou <jerome.gardou(a)reactos.org>
CommitDate: Wed May 19 23:56:21 2021 +0200
[NTOS:MM] Move software PTE specific check after it's been tested for being one
Caught by The_DarkFire, only soul on earth actually *running* our SMP kernel
---
ntoskrnl/mm/ARM3/virtual.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/ntoskrnl/mm/ARM3/virtual.c b/ntoskrnl/mm/ARM3/virtual.c
index 938be15c585..f4d10583150 100644
--- a/ntoskrnl/mm/ARM3/virtual.c
+++ b/ntoskrnl/mm/ARM3/virtual.c
@@ -315,10 +315,6 @@ MiDeleteSystemPageableVm(IN PMMPTE PointerPte,
/* Make sure there's some data about the page */
if (PointerPte->u.Long)
{
- /* As always, only handle current ARM3 scenarios */
- ASSERT(PointerPte->u.Soft.Prototype == 0);
- ASSERT(PointerPte->u.Soft.Transition == 0);
-
/* Normally this is one possibility -- freeing a valid page */
if (PointerPte->u.Hard.Valid)
{
@@ -354,6 +350,10 @@ MiDeleteSystemPageableVm(IN PMMPTE PointerPte,
}
else
{
+ /* As always, only handle current ARM3 scenarios */
+ ASSERT(PointerPte->u.Soft.Prototype == 0);
+ ASSERT(PointerPte->u.Soft.Transition == 0);
+
/*
* The only other ARM3 possibility is a demand zero page, which would
* mean freeing some of the paged pool pages that haven't even been