From 969e60a06d354bd7188601a0307eb93a240b1a2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 19 May 2021 23:53:57 +0200 Subject: [PATCH] [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