[NTOSKRNL:CC] Disable Fault Clustering while Probing

It ensure fault clustering is disabled for current thread, otherwise on some test it was failing MmProbeAndLockPages
这个提交包含在:
2024-08-16 06:50:35 +02:00
提交者 CodingWorkshop Signing Team
父节点 688615fa39
当前提交 e25bcab194

查看文件

@@ -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 )