From 83736d77a5a45cf68339f4ba1bbab3392d5d7aa4 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Thu, 20 Sep 2012 07:44:43 +0000 Subject: [PATCH] [NTOSKRNL]: CORE-6675 #resolve #time 5h #comment Fixed the ASSERTion by increasing system view space to 36MB instead of 20MB. Note that the real bug is that we never free desktop heaps. But why fix the bug when the only thing people care about is "fix the tests!". So let's fix the tests instead of the bug :) Also, fix a bug in MiCheckForSessionPde which broke user32_apitest. All should be good now. svn path=/trunk/; revision=57348 --- reactos/ntoskrnl/mm/ARM3/pagfault.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reactos/ntoskrnl/mm/ARM3/pagfault.c b/reactos/ntoskrnl/mm/ARM3/pagfault.c index fa594bc8d09..35caba32857 100644 --- a/reactos/ntoskrnl/mm/ARM3/pagfault.c +++ b/reactos/ntoskrnl/mm/ARM3/pagfault.c @@ -153,7 +153,7 @@ MiCheckPdeForSessionSpace(IN PVOID Address) { MMPTE TempPde; PMMPTE PointerPde; - PVOID SessionPageTable; + PVOID SessionAddress; ULONG Index; /* Is this a session PTE? */ @@ -171,12 +171,12 @@ MiCheckPdeForSessionSpace(IN PVOID Address) } /* Now get the session-specific page table for this address */ - SessionPageTable = MiPteToAddress(Address); - PointerPde = MiPteToAddress(Address); + SessionAddress = MiPteToAddress(Address); + PointerPde = MiAddressToPde(Address); if (PointerPde->u.Hard.Valid) return STATUS_WAIT_1; /* It's not valid, so find it in the page table array */ - Index = ((ULONG_PTR)SessionPageTable - (ULONG_PTR)MmSessionBase) >> 22; + Index = ((ULONG_PTR)SessionAddress - (ULONG_PTR)MmSessionBase) >> 22; TempPde.u.Long = MmSessionSpace->PageTables[Index].u.Long; if (TempPde.u.Hard.Valid) { @@ -187,7 +187,7 @@ MiCheckPdeForSessionSpace(IN PVOID Address) /* We don't seem to have allocated a page table for this address yet? */ DbgPrint("MiCheckPdeForSessionSpace: No Session PDE for PTE %p, %p\n", - PointerPde->u.Long, SessionPageTable); + PointerPde->u.Long, SessionAddress); DbgBreakPoint(); return STATUS_ACCESS_VIOLATION; }