Fix check for PTE removal flag
All checks were successful
Builds / ExectOS (i686, debug) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 25s
Builds / ExectOS (amd64, release) (push) Successful in 39s
Builds / ExectOS (i686, release) (push) Successful in 37s

This commit is contained in:
2026-03-25 09:53:57 +01:00
parent 441e4f510b
commit a79f26250a
2 changed files with 2 additions and 2 deletions

View File

@@ -818,7 +818,7 @@ MM::Allocator::FreeNonPagedPoolPages(IN PVOID VirtualAddress,
PageFrameNumber = MM::Paging::GetPageFrameNumber(PointerPte);
Pfn = MM::Pfn::GetPfnEntry(PageFrameNumber);
/* Clear PFN shared count and mark the PFN as deleted */
/* Clear PFN shared count and mark the PFN as ready for removal */
Pfn->u2.ShareCount = 0;
Pfn->PteAddress = (PMMPTE)((ULONG_PTR)Pfn->PteAddress | 0x1);

View File

@@ -185,7 +185,7 @@ MM::Pfn::DecrementReferenceCount(IN PMMPFN PageFrameNumber,
}
/* Check if the PTE is marked as being ready for removal */
if(MM::Paging::GetPte(PageFrameNumber->PteAddress) & 0x1)
if((ULONG_PTR)PageFrameNumber->PteAddress & 0x1)
{
/* Check the page's cache attribute */
if((PageFrameNumber->u3.e1.CacheAttribute != PfnCached) &&