mirror of
https://github.com/reactos/reactos.git
synced 2024-12-03 00:13:32 +08:00
[NTOSKRNL] Noisily dereference mapped VACB on cache release.
It seems that on process killing, some VACB may be deleted while still mapped. With current reference counting, they will actually not be deleted, but leaked, and an ASSERT will be triggered. CORE-14578
This commit is contained in:
parent
708d26acf3
commit
fcf83315dc
@ -1106,6 +1106,12 @@ CcRosDeleteFileCache (
|
||||
KeReleaseSpinLock(&SharedCacheMap->CacheMapLock, oldIrql);
|
||||
DPRINT1("Freeing dirty VACB\n");
|
||||
}
|
||||
if (current->MappedCount != 0)
|
||||
{
|
||||
current->MappedCount = 0;
|
||||
NT_VERIFY(CcRosVacbDecRefCount(current) > 0);
|
||||
DPRINT1("Freeing mapped VACB\n");
|
||||
}
|
||||
InsertHeadList(&FreeList, ¤t->CacheMapVacbListEntry);
|
||||
|
||||
KeAcquireSpinLock(&SharedCacheMap->CacheMapLock, &oldIrql);
|
||||
|
Loading…
Reference in New Issue
Block a user