NTSTATUS
NTAPI
+INIT_FUNCTION
ObpInitSdCache(VOID)
{
ULONG i;
{
/* Initialize the lock and the list */
InitializeListHead(&ObsSecurityDescriptorCache[i].Head);
- ExInitializePushLock((PULONG_PTR)&ObsSecurityDescriptorCache[i].PushLock);
+ ExInitializePushLock(&ObsSecurityDescriptorCache[i].PushLock);
}
/* Return success */
/* Calculate the memory we'll need to allocate and allocate it */
CacheSize = Length + (sizeof(SECURITY_DESCRIPTOR_HEADER) - sizeof(QUAD));
- SdHeader = ExAllocatePoolWithTag(PagedPool, CacheSize, 'cSbO');
+ SdHeader = ExAllocatePoolWithTag(PagedPool, CacheSize, TAG_OB_SD_CACHE);
if (!SdHeader) return NULL;
/* Setup the header */
{
/* Increment its reference count */
InterlockedExchangeAdd((PLONG)&SdHeader->RefCount, RefBias);
-
+
/* Release the lock */
ObpSdReleaseLockShared(CacheEntry);
*OutputSecurityDescriptor = &SdHeader->SecurityDescriptor;
/* Free anything that we may have had to create */
- if (NewHeader) ExFreePool(NewHeader);
+ if (NewHeader) ExFreePoolWithTag(NewHeader, TAG_OB_SD_CACHE);
return STATUS_SUCCESS;
}