[KMTESTS:MM] Truncate file cache on uninitialize to avoid leaking a reference.

ROSTESTS-266
This commit is contained in:
Pierre Schweitzer 2018-03-22 22:34:21 +01:00
parent 4916c4cfd5
commit d7abae76b8
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -416,10 +416,12 @@ TestIrpHandler(
if (IoStack->FileObject->SectionObjectPointer != NULL &&
IoStack->FileObject->SectionObjectPointer->SharedCacheMap != NULL)
{
LARGE_INTEGER Zero = RTL_CONSTANT_LARGE_INTEGER(0LL);
CcFlushCache(&Fcb->SectionObjectPointers, NULL, 0, NULL);
CcPurgeCacheSection(&Fcb->SectionObjectPointers, NULL, 0, FALSE);
KeInitializeEvent(&CacheUninitEvent.Event, NotificationEvent, FALSE);
CcUninitializeCacheMap(IoStack->FileObject, NULL, &CacheUninitEvent);
CcUninitializeCacheMap(IoStack->FileObject, &Zero, &CacheUninitEvent);
KeWaitForSingleObject(&CacheUninitEvent.Event, Executive, KernelMode, FALSE, NULL);
}
ExFreePoolWithTag(Fcb, 'FwrI');