[NTOSKRNL]

- Initialize the Zero variable
- Don't corrupt the Color value in case we didn't have any page on MmZeroedPageListHead.
- Fixes boot.

svn path=/trunk/; revision=49614
This commit is contained in:
Timo Kreuzer 2010-11-18 19:20:38 +00:00
parent 4886d14bab
commit 5ba58aa606

View file

@ -407,7 +407,7 @@ MiRemoveZeroPage(IN ULONG Color)
{ {
PFN_NUMBER PageIndex; PFN_NUMBER PageIndex;
PMMPFN Pfn1; PMMPFN Pfn1;
BOOLEAN Zero; BOOLEAN Zero = FALSE;
/* Make sure PFN lock is held and we have pages */ /* Make sure PFN lock is held and we have pages */
ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL); ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL);
@ -421,7 +421,6 @@ MiRemoveZeroPage(IN ULONG Color)
/* Check the zero list */ /* Check the zero list */
ASSERT_LIST_INVARIANT(&MmZeroedPageListHead); ASSERT_LIST_INVARIANT(&MmZeroedPageListHead);
PageIndex = MmZeroedPageListHead.Flink; PageIndex = MmZeroedPageListHead.Flink;
Color = PageIndex & MmSecondaryColorMask;
if (PageIndex == LIST_HEAD) if (PageIndex == LIST_HEAD)
{ {
/* This means there's no zero pages, we have to look for free ones */ /* This means there's no zero pages, we have to look for free ones */
@ -444,6 +443,10 @@ MiRemoveZeroPage(IN ULONG Color)
} }
} }
} }
else
{
Color = PageIndex & MmSecondaryColorMask;
}
} }
/* Sanity checks */ /* Sanity checks */