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);