Allocate the segments, page tables and the image section object from non paged pool. Modified: branches/cache_manager_rewrite/reactos/ntoskrnl/mm/section.c _____
Modified: branches/cache_manager_rewrite/reactos/ntoskrnl/mm/section.c --- branches/cache_manager_rewrite/reactos/ntoskrnl/mm/section.c 2005-08-12 21:01:32 UTC (rev 17355) +++ branches/cache_manager_rewrite/reactos/ntoskrnl/mm/section.c 2005-08-12 21:56:43 UTC (rev 17356) @@ -456,7 +456,7 @@
{ Table = Segment->PageDirectory.PageTables[DirectoryOffset] = - ExAllocatePoolWithTag(PagedPool, sizeof(SECTION_PAGE_TABLE), + ExAllocatePoolWithTag(NonPagedPool, sizeof(SECTION_PAGE_TABLE), TAG_SECTION_PAGE_TABLE); if (Table == NULL) { @@ -3292,7 +3292,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) { @@ -3476,7 +3476,7 @@
if (Segment == NULL) { - Segment = ExAllocatePoolWithTag(PagedPool, sizeof(MM_SECTION_SEGMENT), + Segment = ExAllocatePoolWithTag(NonPagedPool, sizeof(MM_SECTION_SEGMENT), TAG_MM_SECTION_SEGMENT); if (Segment == NULL) { @@ -3637,7 +3637,7 @@ /* TODO: check for integer overflow */ SizeOfSegments = sizeof(MM_SECTION_SEGMENT) * NrSegments;
- Segments = ExAllocatePoolWithTag(PagedPool, + Segments = ExAllocatePoolWithTag(NonPagedPool, SizeOfSegments, TAG_MM_SECTION_SEGMENT);
@@ -4210,7 +4210,7 @@
SizeOfSegments = sizeof(MM_SECTION_SEGMENT) * ImageSectionObject->NrSegments;
- Segments = ExAllocatePoolWithTag(PagedPool, + Segments = ExAllocatePoolWithTag(NonPagedPool, SizeOfSegments, TAG_MM_SECTION_SEGMENT);
@@ -4341,7 +4341,7 @@ } }
- ImageSectionObject = ExAllocatePoolWithTag(PagedPool, sizeof(MM_IMAGE_SECTION_OBJECT), TAG_MM_SECTION_SEGMENT); + ImageSectionObject = ExAllocatePoolWithTag(NonPagedPool, sizeof(MM_IMAGE_SECTION_OBJECT), TAG_MM_SECTION_SEGMENT); if (ImageSectionObject == NULL) { ObDereferenceObject(FileObject);