mirror of
https://github.com/reactos/reactos.git
synced 2024-11-19 05:22:59 +00:00
[NTOS/MM]
- Properly decrement pagetable frame entry share count when unmapping a system-mapped section - Handle the PTE dirty bit svn path=/trunk/; revision=63977
This commit is contained in:
parent
1294e7eb2c
commit
b091e65253
1 changed files with 4 additions and 2 deletions
|
@ -2204,7 +2204,9 @@ MiRemoveMappedPtes(IN PVOID BaseAddress,
|
|||
OldIrql = KeAcquireQueuedSpinLock(LockQueuePfnLock);
|
||||
ASSERT(((Pfn1->u3.e1.PrototypePte) && (Pfn1->OriginalPte.u.Soft.Prototype)) == 0);
|
||||
|
||||
/* FIXME: Dirty bit management */
|
||||
/* Mark the page as modified accordingly */
|
||||
if (PteContents.u.Hard.Dirty)
|
||||
Pfn1->u3.e1.Modified = 1;
|
||||
|
||||
/* Was the PDE invalid */
|
||||
if (PointerPde->u.Long == 0)
|
||||
|
@ -2223,7 +2225,7 @@ MiRemoveMappedPtes(IN PVOID BaseAddress,
|
|||
|
||||
/* Dereference the PDE and the PTE */
|
||||
Pfn2 = MiGetPfnEntry(PFN_FROM_PTE(PointerPde));
|
||||
//MiDecrementShareCount(Pfn2, PFN_FROM_PTE(PointerPde));
|
||||
MiDecrementShareCount(Pfn2, PFN_FROM_PTE(PointerPde));
|
||||
DBG_UNREFERENCED_LOCAL_VARIABLE(Pfn2);
|
||||
MiDecrementShareCount(Pfn1, PFN_FROM_PTE(&PteContents));
|
||||
|
||||
|
|
Loading…
Reference in a new issue