https://git.reactos.org/?p=reactos.git;a=commitdiff;h=81be201d982969c728ac14...
commit 81be201d982969c728ac14df6a4f48a4fc6cf26b Author: Serge Gautherie 32623169+SergeGautherie@users.noreply.github.com AuthorDate: Sat Oct 31 15:18:02 2020 +0100 Commit: GitHub noreply@github.com CommitDate: Sat Oct 31 15:18:02 2020 +0100
[NTOS:CC] CcMdl*Complete(): Return if FastIO succeeded (#3303)
CORE-17342 --- ntoskrnl/cc/mdl.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/ntoskrnl/cc/mdl.c b/ntoskrnl/cc/mdl.c index 12d63c1a39e..a1b726c35c2 100644 --- a/ntoskrnl/cc/mdl.c +++ b/ntoskrnl/cc/mdl.c @@ -101,10 +101,14 @@ CcMdlReadComplete ( /* Check if we support Fast Calls, and check this one */ if (FastDispatch && FastDispatch->MdlReadComplete) { - /* Use the fast path */ - FastDispatch->MdlReadComplete(FileObject, - MdlChain, - DeviceObject); + /* Use the fast path */ + if (FastDispatch->MdlReadComplete(FileObject, + MdlChain, + DeviceObject)) + { + /* Request was handled */ + return; + } }
/* Use slow path */ @@ -131,11 +135,15 @@ CcMdlWriteComplete ( /* Check if we support Fast Calls, and check this one */ if (FastDispatch && FastDispatch->MdlWriteComplete) { - /* Use the fast path */ - FastDispatch->MdlWriteComplete(FileObject, - FileOffset, - MdlChain, - DeviceObject); + /* Use the fast path */ + if (FastDispatch->MdlWriteComplete(FileObject, + FileOffset, + MdlChain, + DeviceObject)) + { + /* Request was handled */ + return; + } }
/* Use slow path */