[NTOSKRNL]: Drop the reference on the PDE for kernel stack pages being deleted, now that zekflop has made all PDEs ARM3-owned.

svn path=/trunk/; revision=55882
This commit is contained in:
Alex Ionescu 2012-02-27 16:10:30 +00:00
parent 270acce7b4
commit 2c7855ed9d

View file

@ -224,7 +224,7 @@ MmDeleteKernelStack(IN PVOID StackBase,
PMMPTE PointerPte; PMMPTE PointerPte;
PFN_NUMBER PageFrameNumber, PageTableFrameNumber; PFN_NUMBER PageFrameNumber, PageTableFrameNumber;
PFN_COUNT StackPages; PFN_COUNT StackPages;
PMMPFN Pfn1;//, Pfn2; PMMPFN Pfn1, Pfn2;
ULONG i; ULONG i;
KIRQL OldIrql; KIRQL OldIrql;
@ -256,15 +256,14 @@ MmDeleteKernelStack(IN PVOID StackBase,
/* Get the PTE's page */ /* Get the PTE's page */
PageFrameNumber = PFN_FROM_PTE(PointerPte); PageFrameNumber = PFN_FROM_PTE(PointerPte);
Pfn1 = MiGetPfnEntry(PageFrameNumber); Pfn1 = MiGetPfnEntry(PageFrameNumber);
#if 1 // ARM3 might not own the page table, so don't take this risk. Leak it instead!
/* Now get the page of the page table mapping it */ /* Now get the page of the page table mapping it */
PageTableFrameNumber = Pfn1->u4.PteFrame; PageTableFrameNumber = Pfn1->u4.PteFrame;
//Pfn2 = MiGetPfnEntry(PageTableFrameNumber); Pfn2 = MiGetPfnEntry(PageTableFrameNumber);
/* Remove a shared reference, since the page is going away */ /* Remove a shared reference, since the page is going away */
DPRINT("SystemPTE PDE: %lx\n", PageTableFrameNumber); MiDecrementShareCount(Pfn2, PageTableFrameNumber);
//MiDecrementShareCount(Pfn2, PageTableFrameNumber);
#endif
/* Set the special pending delete marker */ /* Set the special pending delete marker */
MI_SET_PFN_DELETED(Pfn1); MI_SET_PFN_DELETED(Pfn1);