Fixed MM_PageFault duplicating a page when it is only used once
authorJohn Hodge <[email protected]>
Sun, 27 Sep 2009 03:46:17 +0000 (11:46 +0800)
committerJohn Hodge <[email protected]>
Sun, 27 Sep 2009 03:46:17 +0000 (11:46 +0800)
Kernel/arch/x86/mm_virt.c

index 2e726cc..b2520b5 100644 (file)
@@ -105,7 +105,7 @@ void MM_PageFault(Uint Addr, Uint ErrorCode, tRegs *Regs)
         && gaPageTable[Addr>>12] & PF_COW )
        {
                tPAddr  paddr;
-               if(MM_GetRefCount( gaPageTable[Addr>>12] & ~0xFFF ) == 0)
+               if(MM_GetRefCount( gaPageTable[Addr>>12] & ~0xFFF ) == 1)
                {
                        gaPageTable[Addr>>12] &= ~PF_COW;
                        gaPageTable[Addr>>12] |= PF_PRESENT|PF_WRITE;

UCC git Repository :: git.ucc.asn.au