Skip to content

Commit c219be9

Browse files
committed
[NTOS:MM] Fix paged pool expansion
1 parent af3d426 commit c219be9

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

ntoskrnl/mm/ARM3/pool.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,11 @@ MiAllocatePoolPages(IN POOL_TYPE PoolType,
550550
TempPde.u.Hard.PageFrameNumber = PageFrameNumber;
551551
#if (_MI_PAGING_LEVELS >= 3)
552552
/* On PAE/x64 systems, there's no double-buffering */
553-
ASSERT(FALSE);
553+
/* Initialize the PFN entry for it */
554+
MiInitializePfnForOtherProcess(PageFrameNumber,
555+
(PMMPTE)PointerPde,
556+
PFN_FROM_PTE(MiAddressToPte(PointerPde)));
557+
554558
#else
555559
//
556560
// Save it into our double-buffered system page directory
@@ -561,10 +565,11 @@ MiAllocatePoolPages(IN POOL_TYPE PoolType,
561565
MiInitializePfnForOtherProcess(PageFrameNumber,
562566
(PMMPTE)PointerPde,
563567
MmSystemPageDirectory[(PointerPde - MiAddressToPde(NULL)) / PDE_COUNT]);
568+
#endif
564569

565570
/* Write the actual PDE now */
566-
// MI_WRITE_VALID_PDE(PointerPde, TempPde);
567-
#endif
571+
MI_WRITE_VALID_PDE(PointerPde, TempPde);
572+
568573
//
569574
// Move on to the next expansion address
570575
//

0 commit comments

Comments
 (0)