https://git.reactos.org/?p=reactos.git;a=commitdiff;h=81be201d982969c728ac14df6a4f48a4fc6cf26b

commit 81be201d982969c728ac14df6a4f48a4fc6cf26b
Author:     Serge Gautherie <[email protected]>
AuthorDate: Sat Oct 31 15:18:02 2020 +0100
Commit:     GitHub <[email protected]>
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 */

Reply via email to