https://git.reactos.org/?p=reactos.git;a=commitdiff;h=969e60a06d354bd7188601a0307eb93a240b1a2f

commit 969e60a06d354bd7188601a0307eb93a240b1a2f
Author:     Jérôme Gardou <[email protected]>
AuthorDate: Wed May 19 23:53:57 2021 +0200
Commit:     Jérôme Gardou <[email protected]>
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

Reply via email to