https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2fbba22789423d5959d32…
commit 2fbba22789423d5959d32f201153effe3f14bb55
Author: Pierre Schweitzer <pierre(a)reactos.org>
AuthorDate: Sun Mar 18 13:11:05 2018 +0100
Commit: Pierre Schweitzer <pierre(a)reactos.org>
CommitDate: Sun Mar 18 13:21:54 2018 +0100
[NTOSKRNL] In CcFlushCache(), release the VACB using CcRosReleaseVacb()
Instead of reimplementing it partially and wrongly.
CORE-14481
CORE-14480
CORE-14482
---
ntoskrnl/cc/view.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/ntoskrnl/cc/view.c b/ntoskrnl/cc/view.c
index 4651abe670..24be8cb7aa 100644
--- a/ntoskrnl/cc/view.c
+++ b/ntoskrnl/cc/view.c
@@ -963,7 +963,6 @@ CcFlushCache (
LONGLONG RemainingLength;
PROS_VACB current;
NTSTATUS Status;
- KIRQL oldIrql;
CCTRACE(CC_API_DEBUG, "SectionObjectPointers=%p FileOffset=%p
Length=%lu\n",
SectionObjectPointers, FileOffset, Length);
@@ -1006,13 +1005,7 @@ CcFlushCache (
}
}
- CcRosReleaseVacbLock(current);
-
- KeAcquireGuardedMutex(&ViewLock);
- KeAcquireSpinLock(&SharedCacheMap->CacheMapLock, &oldIrql);
- CcRosVacbDecRefCount(current);
- KeReleaseSpinLock(&SharedCacheMap->CacheMapLock, oldIrql);
- KeReleaseGuardedMutex(&ViewLock);
+ CcRosReleaseVacb(SharedCacheMap, current, current->Valid,
current->Dirty, FALSE);
}
Offset.QuadPart += VACB_MAPPING_GRANULARITY;