diff --git a/modules/rostests/kmtests/ntos_mm/NtCreateSection_drv.c b/modules/rostests/kmtests/ntos_mm/NtCreateSection_drv.c index 45f20b5e854..a547207f211 100644 --- a/modules/rostests/kmtests/ntos_mm/NtCreateSection_drv.c +++ b/modules/rostests/kmtests/ntos_mm/NtCreateSection_drv.c @@ -413,13 +413,16 @@ TestIrpHandler( { Fcb = IoStack->FileObject->FsContext; ok(Fcb != NULL, "Null pointer!\n"); - if (IoStack->FileObject->SectionObjectPointer != NULL && - IoStack->FileObject->SectionObjectPointer->SharedCacheMap != NULL) + if (IoStack->FileObject->SectionObjectPointer != NULL) { LARGE_INTEGER Zero = RTL_CONSTANT_LARGE_INTEGER(0LL); - CcFlushCache(&Fcb->SectionObjectPointers, NULL, 0, NULL); - CcPurgeCacheSection(&Fcb->SectionObjectPointers, NULL, 0, FALSE); + if (CcIsFileCached(IoStack->FileObject)) + { + CcFlushCache(&Fcb->SectionObjectPointers, NULL, 0, NULL); + CcPurgeCacheSection(&Fcb->SectionObjectPointers, NULL, 0, FALSE); + } + KeInitializeEvent(&CacheUninitEvent.Event, NotificationEvent, FALSE); CcUninitializeCacheMap(IoStack->FileObject, &Zero, &CacheUninitEvent); KeWaitForSingleObject(&CacheUninitEvent.Event, Executive, KernelMode, FALSE, NULL);