Allocate the section segments from non paged pool because the storage for fast mutex must be in non paged memory. Modified: trunk/reactos/ntoskrnl/mm/section.c _____
Modified: trunk/reactos/ntoskrnl/mm/section.c --- trunk/reactos/ntoskrnl/mm/section.c 2005-06-05 20:56:14 UTC (rev 15814) +++ trunk/reactos/ntoskrnl/mm/section.c 2005-06-05 21:12:30 UTC (rev 15815) @@ -2183,7 +2183,7 @@
KeInitializeSpinLock(&Section->ViewListLock); Section->FileObject = NULL; Section->MaximumSize = MaximumSize; - Segment = ExAllocatePoolWithTag(PagedPool, sizeof(MM_SECTION_SEGMENT), + Segment = ExAllocatePoolWithTag(NonPagedPool, sizeof(MM_SECTION_SEGMENT), TAG_MM_SECTION_SEGMENT); if (Segment == NULL) { @@ -2387,7 +2387,7 @@ */ if (FileObject->SectionObjectPointer->DataSectionObject == NULL) { - Segment = ExAllocatePoolWithTag(PagedPool, sizeof(MM_SECTION_SEGMENT), + Segment = ExAllocatePoolWithTag(NonPagedPool, sizeof(MM_SECTION_SEGMENT), TAG_MM_SECTION_SEGMENT); if (Segment == NULL) { @@ -2499,7 +2499,7 @@ /* TODO: check for integer overflow */ SizeOfSegments = sizeof(MM_SECTION_SEGMENT) * NrSegments;
- Segments = ExAllocatePoolWithTag(PagedPool, + Segments = ExAllocatePoolWithTag(NonPagedPool, SizeOfSegments, TAG_MM_SECTION_SEGMENT);