[NTOS:MM] Fix paged pool expansion
[reactos.git] / ntoskrnl / mm / ARM3 / pool.c
index 7cebabe..113a7aa 100644 (file)
@@ -550,7 +550,11 @@ MiAllocatePoolPages(IN POOL_TYPE PoolType,
                 TempPde.u.Hard.PageFrameNumber = PageFrameNumber;
 #if (_MI_PAGING_LEVELS >= 3)
                 /* On PAE/x64 systems, there's no double-buffering */
-                ASSERT(FALSE);
+                /* Initialize the PFN entry for it */
+                MiInitializePfnForOtherProcess(PageFrameNumber,
+                                               (PMMPTE)PointerPde,
+                                               PFN_FROM_PTE(MiAddressToPte(PointerPde)));
+
 #else
                 //
                 // Save it into our double-buffered system page directory
@@ -561,10 +565,11 @@ MiAllocatePoolPages(IN POOL_TYPE PoolType,
                 MiInitializePfnForOtherProcess(PageFrameNumber,
                                                (PMMPTE)PointerPde,
                                                MmSystemPageDirectory[(PointerPde - MiAddressToPde(NULL)) / PDE_COUNT]);
+#endif
 
                 /* Write the actual PDE now */
-//                MI_WRITE_VALID_PDE(PointerPde, TempPde);
-#endif
+                MI_WRITE_VALID_PDE(PointerPde, TempPde);
+
                 //
                 // Move on to the next expansion address
                 //