[NTOS:MM] Fix paged pool expansion

This commit is contained in:
Timo Kreuzer 2018-02-04 19:20:56 +01:00
parent af3d426685
commit c219be9409

View 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
//