[NTOSKRNL:CC] Fixing Synchronization Bug
Fixing Bug identified by PeyTy
This commit is contained in:
parent
5b5000d7f1
commit
189cf42f74
@ -45,7 +45,7 @@ CcGetDirtyPages(IN PVOID LogHandle,
|
|||||||
if ((SharedCacheMap->Flags & 0x800) != 0)
|
if ((SharedCacheMap->Flags & 0x800) != 0)
|
||||||
{
|
{
|
||||||
DBGPRINT("CcGetDirtyPages::Invalid Flag \n")
|
DBGPRINT("CcGetDirtyPages::Invalid Flag \n")
|
||||||
return;
|
return (LARGE_INTEGER){0};
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((SharedCacheMap->Flags & 0x2000000) != 0 && SharedCacheMap->LogHandle == LogHandle)
|
if ((SharedCacheMap->Flags & 0x2000000) != 0 && SharedCacheMap->LogHandle == LogHandle)
|
||||||
@ -111,11 +111,13 @@ CcGetDirtyPages(IN PVOID LogHandle,
|
|||||||
{
|
{
|
||||||
BcbToUnpin = Bcb;
|
BcbToUnpin = Bcb;
|
||||||
}
|
}
|
||||||
|
/*Release the BCB lock*/
|
||||||
|
KeReleaseInStackQueuedSpinLock(&LockHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Release the BCB lock*/
|
|
||||||
KeReleaseInStackQueuedSpinLock(&LockHandle);
|
|
||||||
|
|
||||||
/* Dereference the shared cache map file object*/
|
/* Dereference the shared cache map file object*/
|
||||||
CcDereferenceSharedCacheMapFileObject(SharedCacheMap, FileObject);
|
CcDereferenceSharedCacheMapFileObject(SharedCacheMap, FileObject);
|
||||||
@ -135,6 +137,7 @@ CcGetDirtyPages(IN PVOID LogHandle,
|
|||||||
KeReleaseQueuedSpinLock(LockQueueMasterLock,OldIrql);
|
KeReleaseQueuedSpinLock(LockQueueMasterLock,OldIrql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return OldestLsn ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user