diff --git a/NTOSKRNL/CC/ccloghandler.cpp b/NTOSKRNL/CC/ccloghandler.cpp index 5af923e..039844f 100644 --- a/NTOSKRNL/CC/ccloghandler.cpp +++ b/NTOSKRNL/CC/ccloghandler.cpp @@ -45,7 +45,7 @@ CcGetDirtyPages(IN PVOID LogHandle, if ((SharedCacheMap->Flags & 0x800) != 0) { DBGPRINT("CcGetDirtyPages::Invalid Flag \n") - return; + return (LARGE_INTEGER){0}; } if ((SharedCacheMap->Flags & 0x2000000) != 0 && SharedCacheMap->LogHandle == LogHandle) @@ -111,11 +111,13 @@ CcGetDirtyPages(IN PVOID LogHandle, { BcbToUnpin = Bcb; } + /*Release the BCB lock*/ + KeReleaseInStackQueuedSpinLock(&LockHandle); } + } - /*Release the BCB lock*/ - KeReleaseInStackQueuedSpinLock(&LockHandle); + /* Dereference the shared cache map file object*/ CcDereferenceSharedCacheMapFileObject(SharedCacheMap, FileObject); @@ -135,6 +137,7 @@ CcGetDirtyPages(IN PVOID LogHandle, KeReleaseQueuedSpinLock(LockQueueMasterLock,OldIrql); } } +return OldestLsn ; }