These calls to ExAllocatePool are done at != PASSIVE_LEVEL. Allocate

non-paged-pool.

svn path=/trunk/; revision=11116
This commit is contained in:
Art Yerkes 2004-09-29 03:36:52 +00:00
parent 1fea21808f
commit 91a2bfd277

View file

@ -19,7 +19,7 @@
/* /*
* GDIOBJ.C - GDI object manipulation routines * GDIOBJ.C - GDI object manipulation routines
* *
* $Id: gdiobj.c,v 1.71 2004/07/04 12:00:40 navaraf Exp $ * $Id: gdiobj.c,v 1.72 2004/09/29 03:36:52 arty Exp $
* *
*/ */
#include <w32k.h> #include <w32k.h>
@ -197,7 +197,7 @@ GDIOBJ_iAllocHandleTable (WORD Size)
/* prevent APC delivery for the *FastMutexUnsafe calls */ /* prevent APC delivery for the *FastMutexUnsafe calls */
const KIRQL PrevIrql = KfRaiseIrql(APC_LEVEL); const KIRQL PrevIrql = KfRaiseIrql(APC_LEVEL);
ExAcquireFastMutexUnsafe (&HandleTableMutex); ExAcquireFastMutexUnsafe (&HandleTableMutex);
handleTable = ExAllocatePoolWithTag(PagedPool, MemSize, TAG_GDIHNDTBLE); handleTable = ExAllocatePoolWithTag(NonPagedPool, MemSize, TAG_GDIHNDTBLE);
ASSERT( handleTable ); ASSERT( handleTable );
memset (handleTable, 0, MemSize); memset (handleTable, 0, MemSize);
#if GDI_COUNT_OBJECTS #if GDI_COUNT_OBJECTS
@ -205,7 +205,7 @@ GDIOBJ_iAllocHandleTable (WORD Size)
#endif #endif
handleTable->wTableSize = Size; handleTable->wTableSize = Size;
handleTable->AllocationHint = 1; handleTable->AllocationHint = 1;
handleTable->LookasideLists = ExAllocatePoolWithTag(PagedPool, handleTable->LookasideLists = ExAllocatePoolWithTag(NonPagedPool,
OBJTYPE_COUNT * sizeof(PAGED_LOOKASIDE_LIST), OBJTYPE_COUNT * sizeof(PAGED_LOOKASIDE_LIST),
TAG_GDIHNDTBLE); TAG_GDIHNDTBLE);
if (NULL == handleTable->LookasideLists) if (NULL == handleTable->LookasideLists)