[NTOS:IO]
authorDmitry Chapyshev <dmitry@reactos.org>
Sat, 3 Sep 2016 15:02:57 +0000 (15:02 +0000)
committerDmitry Chapyshev <dmitry@reactos.org>
Sat, 3 Sep 2016 15:02:57 +0000 (15:02 +0000)
- IopDeviceFsIoControl is paged code
- Incorrect logic at when processing the IsDevIoCtl parameter

svn path=/trunk/; revision=72546

reactos/ntoskrnl/io/iomgr/iofunc.c

index 12aad73..5da953b 100644 (file)
@@ -210,6 +210,9 @@ IopDeviceFsIoControl(IN HANDLE DeviceHandle,
     ACCESS_MASK DesiredAccess;
     KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
     ULONG BufferLength;
+
+    PAGED_CODE();
+
     IOTRACE(IO_CTL_DEBUG, "Handle: %p. CTL: %lx. Type: %lx \n",
             DeviceHandle, IoControlCode, IsDevIoCtl);
 
@@ -343,7 +346,7 @@ IopDeviceFsIoControl(IN HANDLE DeviceHandle,
     }
 
     /* If that's FS I/O, try to do it with FastIO path */
-    if (!IsDevIoCtl)
+    if (IsDevIoCtl)
     {
         PFAST_IO_DISPATCH FastIoDispatch = DeviceObject->DriverObject->FastIoDispatch;