diff --git a/NTOSKRNL/CC/ccmdlhandler.cpp b/NTOSKRNL/CC/ccmdlhandler.cpp index c21defb..3c66bf5 100644 --- a/NTOSKRNL/CC/ccmdlhandler.cpp +++ b/NTOSKRNL/CC/ccmdlhandler.cpp @@ -357,10 +357,11 @@ CcPrepareMdlWrite(IN PFILE_OBJECT FileObject, currentThread = KeGetCurrentThread(); SavedState = currentThread->UserIdealProcessor ; - currentThread->UserIdealProcessor = 1; + savedDisablePageFaultClustering = currentThread->DisablePageFaultClustering; + currentThread->DisablePageFaultClustering = 1; MmProbeAndLockPages(Mdl, KernelMode, IoWriteAccess); currentThread->UserIdealProcessor = SavedState; - SavedState + currentThread->DisablePageFaultClustering = savedDisablePageFaultClustering; /* Update the Read Aheas Stats*/ KeAcquireInStackQueuedSpinLock(&SharedCacheMap->BcbSpinLock, &LockHandle); if ( ReadAhead_Length.QuadPart > SharedCacheMap->ValidDataGoal.QuadPart )