Author: sir_richard
Date: Mon Apr 2 06:54:41 2012
New Revision: 56316
URL:
http://svn.reactos.org/svn/reactos?rev=56316&view=rev
Log:
[NTOS]: Correctly handle transition vs free PTEs in MiDecrementShareCount.
Modified:
trunk/reactos/ntoskrnl/mm/ARM3/pfnlist.c
Modified: trunk/reactos/ntoskrnl/mm/ARM3/pfnlist.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/pfnlist.c…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/pfnlist.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/pfnlist.c [iso-8859-1] Mon Apr 2 06:54:41 2012
@@ -1233,9 +1233,6 @@
ASSERT(Pfn1->u3.e2.ReferenceCount != 0);
if (Pfn1->u3.e2.ReferenceCount == 1)
{
- /* In ReactOS, this path should always be hit with a deleted PFN */
- ASSERT((MI_IS_PFN_DELETED(Pfn1) == TRUE) || (Pfn1->u3.e1.PrototypePte ==
1));
-#if 0 // INVESTIGATE
/* Is there still a PFN for this page? */
if (MI_IS_PFN_DELETED(Pfn1) == TRUE)
{
@@ -1254,17 +1251,6 @@
/* PFN not yet deleted, drop a ref count */
MiDecrementReferenceCount(Pfn1, PageFrameIndex);
}
-#endif
-
- /* Clear the last reference */
- Pfn1->u3.e2.ReferenceCount = 0;
- ASSERT(Pfn1->OriginalPte.u.Soft.Prototype == 0);
-
- /* Mark the page temporarily as valid, we're going to make it free soon
*/
- Pfn1->u3.e1.PageLocation = ActiveAndValid;
-
- /* Bring it back into the free list */
- MiInsertPageInFreeList(PageFrameIndex);
}
else
{