https://git.reactos.org/?p=reactos.git;a=commitdiff;h=969e60a06d354bd7188601...
commit 969e60a06d354bd7188601a0307eb93a240b1a2f Author: Jérôme Gardou jerome.gardou@reactos.org AuthorDate: Wed May 19 23:53:57 2021 +0200 Commit: Jérôme Gardou jerome.gardou@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