Nonpaged Pool Liberation Day: Allow PagedPool to be used earlier, allow fast mutex to be used earlier on debug builds. Allocate all Se stuff from PagedPool, set the right object types to use paged pool, allocate all strings from paged pool, allocate PE sections from paged pool, and a bunch of other things which should, imo, be in paged pool. If anyone has any contradicting proof, let me know...until then, enjoy ~4-6MB more NonPagedPool

svn path=/trunk/; revision=15492
This commit is contained in:
Alex Ionescu 2005-05-25 04:16:56 +00:00
parent c1c8137afa
commit b09db8ab65
13 changed files with 127 additions and 128 deletions

View file

@ -990,7 +990,7 @@ RtlUnicodeStringToAnsiString(
AnsiDest,
UniSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -1073,7 +1073,7 @@ RtlOemStringToUnicodeString(
UniDest,
OemSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -1157,7 +1157,7 @@ RtlUnicodeStringToOemString(
OemDest,
UniSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -1304,7 +1304,7 @@ RtlOemStringToCountedUnicodeString(
UniDest,
OemSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -1634,7 +1634,7 @@ RtlUnicodeStringToCountedOemString(
OemDest,
UniSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
/*
@ -1766,7 +1766,7 @@ RtlUpcaseUnicodeString(
UniDest,
UniSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -1833,7 +1833,7 @@ RtlUpcaseUnicodeStringToAnsiString(
AnsiDest,
UniSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
/*
@ -1921,7 +1921,7 @@ RtlUpcaseUnicodeStringToCountedOemString(
OemDest,
UniSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -2007,7 +2007,7 @@ RtlUpcaseUnicodeStringToOemString (
OemDest,
UniSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -2287,7 +2287,7 @@ RtlCreateUnicodeString(
{
DPRINT("RtlCreateUnicodeString\n");
return RtlpCreateUnicodeString(UniDest, Source, NonPagedPool);
return RtlpCreateUnicodeString(UniDest, Source, PagedPool);
}
@ -2306,7 +2306,7 @@ RtlpCreateUnicodeString(
ULONG Length;
Length = (wcslen (Source) + 1) * sizeof(WCHAR);
PoolType = PagedPool;
UniDest->Buffer = ExAllocatePoolWithTag(PoolType, Length, TAG_USTR);
if (UniDest->Buffer == NULL)
return FALSE;
@ -2363,7 +2363,7 @@ RtlDowncaseUnicodeString(
UniDest,
UniSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -2473,7 +2473,7 @@ RtlAnsiStringToUnicodeString(
UniDest,
AnsiSource,
AllocateDestinationString,
NonPagedPool);
PagedPool);
}
@ -2664,7 +2664,7 @@ RtlDuplicateUnicodeString(
AddNull,
SourceString,
DestinationString,
NonPagedPool);
PagedPool);
}

View file

@ -356,9 +356,9 @@ CmInitializeRegistry(VOID)
RtlZeroMemory(&ObjectTypeInitializer, sizeof(ObjectTypeInitializer));
RtlInitUnicodeString(&Name, L"Key");
ObjectTypeInitializer.Length = sizeof(ObjectTypeInitializer);
ObjectTypeInitializer.DefaultNonPagedPoolCharge = sizeof(KEY_OBJECT);
ObjectTypeInitializer.DefaultPagedPoolCharge = sizeof(KEY_OBJECT);
ObjectTypeInitializer.GenericMapping = CmiKeyMapping;
ObjectTypeInitializer.PoolType = NonPagedPool;
ObjectTypeInitializer.PoolType = PagedPool;
ObjectTypeInitializer.ValidAccessMask = KEY_ALL_ACCESS;
ObjectTypeInitializer.UseDefaultObject = TRUE;
ObjectTypeInitializer.DeleteProcedure = CmiObjectDelete;

View file

@ -21,7 +21,7 @@
VOID FASTCALL
ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex)
{
ASSERT(FastMutex->Owner != KeGetCurrentThread());
//ASSERT(FastMutex->Owner != KeGetCurrentThread());
InterlockedIncrementUL(&FastMutex->Contention);
while (InterlockedExchange(&FastMutex->Count, 0) == 0)
{
@ -41,7 +41,7 @@ ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex)
VOID FASTCALL
ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex)
{
ASSERT(FastMutex->Owner == KeGetCurrentThread());
//ASSERT(FastMutex->Owner == KeGetCurrentThread());
FastMutex->Owner = NULL;
InterlockedExchange(&FastMutex->Count, 1);
if (FastMutex->Contention > 0)

View file

@ -481,10 +481,10 @@ ExpInitializeExecutive(VOID)
/* Set 1 CPU for now, we'll increment this later */
KeNumberProcessors = 1;
/* Initalize the Process Manager */
PiInitProcessManager();
/* Break into the Debugger if requested */
if (KdPollBreakIn()) DbgBreakPointWithStatus (DBG_STATUS_CONTROL_C);

View file

@ -134,12 +134,12 @@
#define TAG_HDTB TAG('H', 'D', 'T', 'B')
/* formerly located in se/acl.c */
#define TAG_ACL TAG('A', 'C', 'L', 'T')
/* formerly located in se/semgr.c */
#define TAG_SXPT TAG('S', 'X', 'P', 'T')
#define TAG_ACL TAG('S', 'e', 'A', 'c')
/* formerly located in se/sid.c */
#define TAG_SID TAG('S', 'I', 'D', 'T')
#define TAG_SID TAG('S', 'e', 'S', 'i')
/* formerly located in se/sd.c */
#define TAG_SD TAG('S', 'e', 'S', 'd')
#endif /* _NTOSKRNL_TAG_H */

View file

@ -321,8 +321,11 @@ NTSTATUS MmNotPresentFault(KPROCESSOR_MODE Mode,
}
if (PsGetCurrentProcess() == NULL)
{
/* Allow this! It lets us page alloc much earlier! It won't be needed
* after my init patch anyways
*/
DbgPrint("No current process\n");
return(STATUS_UNSUCCESSFUL);
//return(STATUS_UNSUCCESSFUL);
}
/*

View file

@ -2123,8 +2123,8 @@ MmInitSectionImplementation(VOID)
RtlZeroMemory(&ObjectTypeInitializer, sizeof(ObjectTypeInitializer));
RtlInitUnicodeString(&Name, L"Section");
ObjectTypeInitializer.Length = sizeof(ObjectTypeInitializer);
ObjectTypeInitializer.DefaultNonPagedPoolCharge = sizeof(SECTION_OBJECT);
ObjectTypeInitializer.PoolType = NonPagedPool;
ObjectTypeInitializer.DefaultPagedPoolCharge = sizeof(SECTION_OBJECT);
ObjectTypeInitializer.PoolType = PagedPool;
ObjectTypeInitializer.UseDefaultObject = TRUE;
ObjectTypeInitializer.GenericMapping = MmpSectionMapping;
ObjectTypeInitializer.DeleteProcedure = MmpDeleteSection;
@ -2499,7 +2499,7 @@ ExeFmtpAllocateSegments(IN ULONG NrSegments)
/* TODO: check for integer overflow */
SizeOfSegments = sizeof(MM_SECTION_SEGMENT) * NrSegments;
Segments = ExAllocatePoolWithTag(NonPagedPool,
Segments = ExAllocatePoolWithTag(PagedPool,
SizeOfSegments,
TAG_MM_SECTION_SEGMENT);

View file

@ -63,7 +63,7 @@ RtlpAllocateHandle(PRTL_HANDLE_TABLE HandleTable,
{
/* allocate handle array */
ArraySize = sizeof(RTL_HANDLE) * HandleTable->TableSize;
ArrayPointer = ExAllocatePoolWithTag(NonPagedPool,
ArrayPointer = ExAllocatePoolWithTag(PagedPool,
ArraySize,
TAG_HDTB);
if (ArrayPointer == NULL)

View file

@ -36,7 +36,7 @@ SepInitDACLs(VOID)
(sizeof(ACE) + RtlLengthSid(SeWorldSid)) +
(sizeof(ACE) + RtlLengthSid(SeLocalSystemSid));
SePublicDefaultDacl = ExAllocatePoolWithTag(NonPagedPool,
SePublicDefaultDacl = ExAllocatePoolWithTag(PagedPool,
AclLength,
TAG_ACL);
if (SePublicDefaultDacl == NULL)
@ -64,7 +64,7 @@ SepInitDACLs(VOID)
(sizeof(ACE) + RtlLengthSid(SeAliasAdminsSid)) +
(sizeof(ACE) + RtlLengthSid(SeRestrictedCodeSid));
SePublicDefaultUnrestrictedDacl = ExAllocatePoolWithTag(NonPagedPool,
SePublicDefaultUnrestrictedDacl = ExAllocatePoolWithTag(PagedPool,
AclLength,
TAG_ACL);
if (SePublicDefaultUnrestrictedDacl == NULL)
@ -100,7 +100,7 @@ SepInitDACLs(VOID)
(sizeof(ACE) + RtlLengthSid(SeLocalSystemSid)) +
(sizeof(ACE) + RtlLengthSid(SeAliasAdminsSid));
SePublicOpenDacl = ExAllocatePoolWithTag(NonPagedPool,
SePublicOpenDacl = ExAllocatePoolWithTag(PagedPool,
AclLength,
TAG_ACL);
if (SePublicOpenDacl == NULL)
@ -132,7 +132,7 @@ SepInitDACLs(VOID)
(sizeof(ACE) + RtlLengthSid(SeAliasAdminsSid)) +
(sizeof(ACE) + RtlLengthSid(SeRestrictedCodeSid));
SePublicOpenUnrestrictedDacl = ExAllocatePoolWithTag(NonPagedPool,
SePublicOpenUnrestrictedDacl = ExAllocatePoolWithTag(PagedPool,
AclLength,
TAG_ACL);
if (SePublicOpenUnrestrictedDacl == NULL)
@ -167,7 +167,7 @@ SepInitDACLs(VOID)
(sizeof(ACE) + RtlLengthSid(SeLocalSystemSid)) +
(sizeof(ACE) + RtlLengthSid(SeAliasAdminsSid));
SeSystemDefaultDacl = ExAllocatePoolWithTag(NonPagedPool,
SeSystemDefaultDacl = ExAllocatePoolWithTag(PagedPool,
AclLength,
TAG_ACL);
if (SeSystemDefaultDacl == NULL)
@ -192,7 +192,7 @@ SepInitDACLs(VOID)
(sizeof(ACE) + RtlLengthSid(SeWorldSid)) +
(sizeof(ACE) + RtlLengthSid(SeRestrictedCodeSid));
SeUnrestrictedDacl = ExAllocatePoolWithTag(NonPagedPool,
SeUnrestrictedDacl = ExAllocatePoolWithTag(PagedPool,
AclLength,
TAG_ACL);
if (SeUnrestrictedDacl == NULL)

View file

@ -28,8 +28,8 @@ BOOLEAN INIT_FUNCTION
SepInitSDs(VOID)
{
/* Create PublicDefaultSd */
SePublicDefaultSd = ExAllocatePool(NonPagedPool,
sizeof(SECURITY_DESCRIPTOR));
SePublicDefaultSd = ExAllocatePoolWithTag(PagedPool,
sizeof(SECURITY_DESCRIPTOR), TAG_SD);
if (SePublicDefaultSd == NULL)
return FALSE;
@ -41,8 +41,8 @@ SepInitSDs(VOID)
FALSE);
/* Create PublicDefaultUnrestrictedSd */
SePublicDefaultUnrestrictedSd = ExAllocatePool(NonPagedPool,
sizeof(SECURITY_DESCRIPTOR));
SePublicDefaultUnrestrictedSd = ExAllocatePoolWithTag(PagedPool,
sizeof(SECURITY_DESCRIPTOR), TAG_SD);
if (SePublicDefaultUnrestrictedSd == NULL)
return FALSE;
@ -54,8 +54,8 @@ SepInitSDs(VOID)
FALSE);
/* Create PublicOpenSd */
SePublicOpenSd = ExAllocatePool(NonPagedPool,
sizeof(SECURITY_DESCRIPTOR));
SePublicOpenSd = ExAllocatePoolWithTag(PagedPool,
sizeof(SECURITY_DESCRIPTOR), TAG_SD);
if (SePublicOpenSd == NULL)
return FALSE;
@ -67,8 +67,8 @@ SepInitSDs(VOID)
FALSE);
/* Create PublicOpenUnrestrictedSd */
SePublicOpenUnrestrictedSd = ExAllocatePool(NonPagedPool,
sizeof(SECURITY_DESCRIPTOR));
SePublicOpenUnrestrictedSd = ExAllocatePoolWithTag(PagedPool,
sizeof(SECURITY_DESCRIPTOR), TAG_SD);
if (SePublicOpenUnrestrictedSd == NULL)
return FALSE;
@ -80,8 +80,8 @@ SepInitSDs(VOID)
FALSE);
/* Create SystemDefaultSd */
SeSystemDefaultSd = ExAllocatePool(NonPagedPool,
sizeof(SECURITY_DESCRIPTOR));
SeSystemDefaultSd = ExAllocatePoolWithTag(PagedPool,
sizeof(SECURITY_DESCRIPTOR), TAG_SD);
if (SeSystemDefaultSd == NULL)
return FALSE;
@ -93,8 +93,8 @@ SepInitSDs(VOID)
FALSE);
/* Create UnrestrictedSd */
SeUnrestrictedSd = ExAllocatePool(NonPagedPool,
sizeof(SECURITY_DESCRIPTOR));
SeUnrestrictedSd = ExAllocatePoolWithTag(PagedPool,
sizeof(SECURITY_DESCRIPTOR), TAG_SD);
if (SeUnrestrictedSd == NULL)
return FALSE;

View file

@ -17,6 +17,7 @@
/* GLOBALS ******************************************************************/
PSE_EXPORTS EXPORTED SeExports = NULL;
SE_EXPORTS SepExports;
static ERESOURCE SepSubjectContextLock;
@ -121,56 +122,51 @@ SeInitSRM(VOID)
static BOOLEAN INIT_FUNCTION
SepInitExports(VOID)
{
SeExports = ExAllocatePoolWithTag(NonPagedPool,
sizeof(SE_EXPORTS),
TAG_SXPT);
if (SeExports == NULL)
return FALSE;
SepExports.SeCreateTokenPrivilege = SeCreateTokenPrivilege;
SepExports.SeAssignPrimaryTokenPrivilege = SeAssignPrimaryTokenPrivilege;
SepExports.SeLockMemoryPrivilege = SeLockMemoryPrivilege;
SepExports.SeIncreaseQuotaPrivilege = SeIncreaseQuotaPrivilege;
SepExports.SeUnsolicitedInputPrivilege = SeUnsolicitedInputPrivilege;
SepExports.SeTcbPrivilege = SeTcbPrivilege;
SepExports.SeSecurityPrivilege = SeSecurityPrivilege;
SepExports.SeTakeOwnershipPrivilege = SeTakeOwnershipPrivilege;
SepExports.SeLoadDriverPrivilege = SeLoadDriverPrivilege;
SepExports.SeCreatePagefilePrivilege = SeCreatePagefilePrivilege;
SepExports.SeIncreaseBasePriorityPrivilege = SeIncreaseBasePriorityPrivilege;
SepExports.SeSystemProfilePrivilege = SeSystemProfilePrivilege;
SepExports.SeSystemtimePrivilege = SeSystemtimePrivilege;
SepExports.SeProfileSingleProcessPrivilege = SeProfileSingleProcessPrivilege;
SepExports.SeCreatePermanentPrivilege = SeCreatePermanentPrivilege;
SepExports.SeBackupPrivilege = SeBackupPrivilege;
SepExports.SeRestorePrivilege = SeRestorePrivilege;
SepExports.SeShutdownPrivilege = SeShutdownPrivilege;
SepExports.SeDebugPrivilege = SeDebugPrivilege;
SepExports.SeAuditPrivilege = SeAuditPrivilege;
SepExports.SeSystemEnvironmentPrivilege = SeSystemEnvironmentPrivilege;
SepExports.SeChangeNotifyPrivilege = SeChangeNotifyPrivilege;
SepExports.SeRemoteShutdownPrivilege = SeRemoteShutdownPrivilege;
SeExports->SeCreateTokenPrivilege = SeCreateTokenPrivilege;
SeExports->SeAssignPrimaryTokenPrivilege = SeAssignPrimaryTokenPrivilege;
SeExports->SeLockMemoryPrivilege = SeLockMemoryPrivilege;
SeExports->SeIncreaseQuotaPrivilege = SeIncreaseQuotaPrivilege;
SeExports->SeUnsolicitedInputPrivilege = SeUnsolicitedInputPrivilege;
SeExports->SeTcbPrivilege = SeTcbPrivilege;
SeExports->SeSecurityPrivilege = SeSecurityPrivilege;
SeExports->SeTakeOwnershipPrivilege = SeTakeOwnershipPrivilege;
SeExports->SeLoadDriverPrivilege = SeLoadDriverPrivilege;
SeExports->SeCreatePagefilePrivilege = SeCreatePagefilePrivilege;
SeExports->SeIncreaseBasePriorityPrivilege = SeIncreaseBasePriorityPrivilege;
SeExports->SeSystemProfilePrivilege = SeSystemProfilePrivilege;
SeExports->SeSystemtimePrivilege = SeSystemtimePrivilege;
SeExports->SeProfileSingleProcessPrivilege = SeProfileSingleProcessPrivilege;
SeExports->SeCreatePermanentPrivilege = SeCreatePermanentPrivilege;
SeExports->SeBackupPrivilege = SeBackupPrivilege;
SeExports->SeRestorePrivilege = SeRestorePrivilege;
SeExports->SeShutdownPrivilege = SeShutdownPrivilege;
SeExports->SeDebugPrivilege = SeDebugPrivilege;
SeExports->SeAuditPrivilege = SeAuditPrivilege;
SeExports->SeSystemEnvironmentPrivilege = SeSystemEnvironmentPrivilege;
SeExports->SeChangeNotifyPrivilege = SeChangeNotifyPrivilege;
SeExports->SeRemoteShutdownPrivilege = SeRemoteShutdownPrivilege;
SeExports->SeNullSid = SeNullSid;
SeExports->SeWorldSid = SeWorldSid;
SeExports->SeLocalSid = SeLocalSid;
SeExports->SeCreatorOwnerSid = SeCreatorOwnerSid;
SeExports->SeCreatorGroupSid = SeCreatorGroupSid;
SeExports->SeNtAuthoritySid = SeNtAuthoritySid;
SeExports->SeDialupSid = SeDialupSid;
SeExports->SeNetworkSid = SeNetworkSid;
SeExports->SeBatchSid = SeBatchSid;
SeExports->SeInteractiveSid = SeInteractiveSid;
SeExports->SeLocalSystemSid = SeLocalSystemSid;
SeExports->SeAliasAdminsSid = SeAliasAdminsSid;
SeExports->SeAliasUsersSid = SeAliasUsersSid;
SeExports->SeAliasGuestsSid = SeAliasGuestsSid;
SeExports->SeAliasPowerUsersSid = SeAliasPowerUsersSid;
SeExports->SeAliasAccountOpsSid = SeAliasAccountOpsSid;
SeExports->SeAliasSystemOpsSid = SeAliasSystemOpsSid;
SeExports->SeAliasPrintOpsSid = SeAliasPrintOpsSid;
SeExports->SeAliasBackupOpsSid = SeAliasBackupOpsSid;
SepExports.SeNullSid = SeNullSid;
SepExports.SeWorldSid = SeWorldSid;
SepExports.SeLocalSid = SeLocalSid;
SepExports.SeCreatorOwnerSid = SeCreatorOwnerSid;
SepExports.SeCreatorGroupSid = SeCreatorGroupSid;
SepExports.SeNtAuthoritySid = SeNtAuthoritySid;
SepExports.SeDialupSid = SeDialupSid;
SepExports.SeNetworkSid = SeNetworkSid;
SepExports.SeBatchSid = SeBatchSid;
SepExports.SeInteractiveSid = SeInteractiveSid;
SepExports.SeLocalSystemSid = SeLocalSystemSid;
SepExports.SeAliasAdminsSid = SeAliasAdminsSid;
SepExports.SeAliasUsersSid = SeAliasUsersSid;
SepExports.SeAliasGuestsSid = SeAliasGuestsSid;
SepExports.SeAliasPowerUsersSid = SeAliasPowerUsersSid;
SepExports.SeAliasAccountOpsSid = SeAliasAccountOpsSid;
SepExports.SeAliasSystemOpsSid = SeAliasSystemOpsSid;
SepExports.SeAliasPrintOpsSid = SeAliasPrintOpsSid;
SepExports.SeAliasBackupOpsSid = SeAliasBackupOpsSid;
SeExports = &SepExports;
return TRUE;
}
@ -498,7 +494,7 @@ SeAssignSecurity(PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
DaclLength,
SaclLength);
Descriptor = ExAllocatePool(NonPagedPool,
Descriptor = ExAllocatePool(PagedPool,
Length);
RtlZeroMemory( Descriptor, Length );

View file

@ -67,7 +67,7 @@ SepInitSecurityIDs(VOID)
SidLength2 = RtlLengthRequiredSid(2);
/* create NullSid */
SeNullSid = ExAllocatePoolWithTag(NonPagedPool,
SeNullSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeNullSid == NULL)
@ -81,7 +81,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_NULL_RID;
/* create WorldSid */
SeWorldSid = ExAllocatePoolWithTag(NonPagedPool,
SeWorldSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeWorldSid == NULL)
@ -95,7 +95,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_WORLD_RID;
/* create LocalSid */
SeLocalSid = ExAllocatePoolWithTag(NonPagedPool,
SeLocalSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeLocalSid == NULL)
@ -109,7 +109,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_LOCAL_RID;
/* create CreatorOwnerSid */
SeCreatorOwnerSid = ExAllocatePoolWithTag(NonPagedPool,
SeCreatorOwnerSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeCreatorOwnerSid == NULL)
@ -123,7 +123,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_CREATOR_OWNER_RID;
/* create CreatorGroupSid */
SeCreatorGroupSid = ExAllocatePoolWithTag(NonPagedPool,
SeCreatorGroupSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeCreatorGroupSid == NULL)
@ -137,7 +137,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_CREATOR_GROUP_RID;
/* create CreatorOwnerServerSid */
SeCreatorOwnerServerSid = ExAllocatePoolWithTag(NonPagedPool,
SeCreatorOwnerServerSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeCreatorOwnerServerSid == NULL)
@ -151,7 +151,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_CREATOR_OWNER_SERVER_RID;
/* create CreatorGroupServerSid */
SeCreatorGroupServerSid = ExAllocatePoolWithTag(NonPagedPool,
SeCreatorGroupServerSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeCreatorGroupServerSid == NULL)
@ -166,7 +166,7 @@ SepInitSecurityIDs(VOID)
/* create NtAuthoritySid */
SeNtAuthoritySid = ExAllocatePoolWithTag(NonPagedPool,
SeNtAuthoritySid = ExAllocatePoolWithTag(PagedPool,
SidLength0,
TAG_SID);
if (SeNtAuthoritySid == NULL)
@ -177,7 +177,7 @@ SepInitSecurityIDs(VOID)
0);
/* create DialupSid */
SeDialupSid = ExAllocatePoolWithTag(NonPagedPool,
SeDialupSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeDialupSid == NULL)
@ -191,7 +191,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_DIALUP_RID;
/* create NetworkSid */
SeNetworkSid = ExAllocatePoolWithTag(NonPagedPool,
SeNetworkSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeNetworkSid == NULL)
@ -205,7 +205,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_NETWORK_RID;
/* create BatchSid */
SeBatchSid = ExAllocatePoolWithTag(NonPagedPool,
SeBatchSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeBatchSid == NULL)
@ -219,7 +219,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_BATCH_RID;
/* create InteractiveSid */
SeInteractiveSid = ExAllocatePoolWithTag(NonPagedPool,
SeInteractiveSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeInteractiveSid == NULL)
@ -233,7 +233,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_INTERACTIVE_RID;
/* create ServiceSid */
SeServiceSid = ExAllocatePoolWithTag(NonPagedPool,
SeServiceSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeServiceSid == NULL)
@ -247,7 +247,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_SERVICE_RID;
/* create AnonymousLogonSid */
SeAnonymousLogonSid = ExAllocatePoolWithTag(NonPagedPool,
SeAnonymousLogonSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeAnonymousLogonSid == NULL)
@ -261,7 +261,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_ANONYMOUS_LOGON_RID;
/* create PrincipalSelfSid */
SePrincipalSelfSid = ExAllocatePoolWithTag(NonPagedPool,
SePrincipalSelfSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SePrincipalSelfSid == NULL)
@ -275,7 +275,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_PRINCIPAL_SELF_RID;
/* create LocalSystemSid */
SeLocalSystemSid = ExAllocatePoolWithTag(NonPagedPool,
SeLocalSystemSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeLocalSystemSid == NULL)
@ -289,7 +289,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_LOCAL_SYSTEM_RID;
/* create AuthenticatedUserSid */
SeAuthenticatedUserSid = ExAllocatePoolWithTag(NonPagedPool,
SeAuthenticatedUserSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeAuthenticatedUserSid == NULL)
@ -303,7 +303,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_AUTHENTICATED_USER_RID;
/* create RestrictedCodeSid */
SeRestrictedCodeSid = ExAllocatePoolWithTag(NonPagedPool,
SeRestrictedCodeSid = ExAllocatePoolWithTag(PagedPool,
SidLength1,
TAG_SID);
if (SeRestrictedCodeSid == NULL)
@ -317,7 +317,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = SECURITY_RESTRICTED_CODE_RID;
/* create AliasAdminsSid */
SeAliasAdminsSid = ExAllocatePoolWithTag(NonPagedPool,
SeAliasAdminsSid = ExAllocatePoolWithTag(PagedPool,
SidLength2,
TAG_SID);
if (SeAliasAdminsSid == NULL)
@ -335,7 +335,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = DOMAIN_ALIAS_RID_ADMINS;
/* create AliasUsersSid */
SeAliasUsersSid = ExAllocatePoolWithTag(NonPagedPool,
SeAliasUsersSid = ExAllocatePoolWithTag(PagedPool,
SidLength2,
TAG_SID);
if (SeAliasUsersSid == NULL)
@ -353,7 +353,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = DOMAIN_ALIAS_RID_USERS;
/* create AliasGuestsSid */
SeAliasGuestsSid = ExAllocatePoolWithTag(NonPagedPool,
SeAliasGuestsSid = ExAllocatePoolWithTag(PagedPool,
SidLength2,
TAG_SID);
if (SeAliasGuestsSid == NULL)
@ -371,7 +371,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = DOMAIN_ALIAS_RID_GUESTS;
/* create AliasPowerUsersSid */
SeAliasPowerUsersSid = ExAllocatePoolWithTag(NonPagedPool,
SeAliasPowerUsersSid = ExAllocatePoolWithTag(PagedPool,
SidLength2,
TAG_SID);
if (SeAliasPowerUsersSid == NULL)
@ -389,7 +389,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = DOMAIN_ALIAS_RID_POWER_USERS;
/* create AliasAccountOpsSid */
SeAliasAccountOpsSid = ExAllocatePoolWithTag(NonPagedPool,
SeAliasAccountOpsSid = ExAllocatePoolWithTag(PagedPool,
SidLength2,
TAG_SID);
if (SeAliasAccountOpsSid == NULL)
@ -407,7 +407,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = DOMAIN_ALIAS_RID_ACCOUNT_OPS;
/* create AliasSystemOpsSid */
SeAliasSystemOpsSid = ExAllocatePoolWithTag(NonPagedPool,
SeAliasSystemOpsSid = ExAllocatePoolWithTag(PagedPool,
SidLength2,
TAG_SID);
if (SeAliasSystemOpsSid == NULL)
@ -425,7 +425,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = DOMAIN_ALIAS_RID_SYSTEM_OPS;
/* create AliasPrintOpsSid */
SeAliasPrintOpsSid = ExAllocatePoolWithTag(NonPagedPool,
SeAliasPrintOpsSid = ExAllocatePoolWithTag(PagedPool,
SidLength2,
TAG_SID);
if (SeAliasPrintOpsSid == NULL)
@ -443,7 +443,7 @@ SepInitSecurityIDs(VOID)
*SubAuthority = DOMAIN_ALIAS_RID_PRINT_OPS;
/* create AliasBackupOpsSid */
SeAliasBackupOpsSid = ExAllocatePoolWithTag(NonPagedPool,
SeAliasBackupOpsSid = ExAllocatePoolWithTag(PagedPool,
SidLength2,
TAG_SID);
if (SeAliasBackupOpsSid == NULL)

View file

@ -571,9 +571,9 @@ SepInitializeTokenImplementation(VOID)
RtlZeroMemory(&ObjectTypeInitializer, sizeof(ObjectTypeInitializer));
RtlInitUnicodeString(&Name, L"Token");
ObjectTypeInitializer.Length = sizeof(ObjectTypeInitializer);
ObjectTypeInitializer.DefaultNonPagedPoolCharge = sizeof(TOKEN);
ObjectTypeInitializer.DefaultPagedPoolCharge = sizeof(TOKEN);
ObjectTypeInitializer.GenericMapping = SepTokenMapping;
ObjectTypeInitializer.PoolType = NonPagedPool;
ObjectTypeInitializer.PoolType = PagedPool;
ObjectTypeInitializer.ValidAccessMask = TOKEN_ALL_ACCESS;
ObjectTypeInitializer.UseDefaultObject = TRUE;
ObjectTypeInitializer.DeleteProcedure = SepDeleteToken;
@ -1853,7 +1853,7 @@ SepCreateSystemProcessToken(VOID)
uSize += uAdminsLength;
AccessToken->UserAndGroups =
(PSID_AND_ATTRIBUTES)ExAllocatePoolWithTag(NonPagedPool,
(PSID_AND_ATTRIBUTES)ExAllocatePoolWithTag(PagedPool,
uSize,
TAG('T', 'O', 'K', 'u'));
SidArea = &AccessToken->UserAndGroups[AccessToken->UserAndGroupCount];
@ -1885,7 +1885,7 @@ SepCreateSystemProcessToken(VOID)
uSize = AccessToken->PrivilegeCount * sizeof(LUID_AND_ATTRIBUTES);
AccessToken->Privileges =
(PLUID_AND_ATTRIBUTES)ExAllocatePoolWithTag(NonPagedPool,
(PLUID_AND_ATTRIBUTES)ExAllocatePoolWithTag(PagedPool,
uSize,
TAG('T', 'O', 'K', 'p'));
@ -1964,7 +1964,7 @@ SepCreateSystemProcessToken(VOID)
uSize += sizeof(ACE) + uAdminsLength;
uSize = (uSize & (~3)) + 8;
AccessToken->DefaultDacl =
(PACL) ExAllocatePoolWithTag(NonPagedPool,
(PACL) ExAllocatePoolWithTag(PagedPool,
uSize,
TAG('T', 'O', 'K', 'd'));
Status = RtlCreateAcl(AccessToken->DefaultDacl, uSize, ACL_REVISION);