Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Bugcheck when passing IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT on Windows Server 2012 and 64-bit Windows 8


View products that this article applies to.

Symptoms

Consider the following scenario:

You have a Windows Server 2012 or 64-bit Windows 8 system. When a 32-bit application calls DeviceIoControl() and passes the control code IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT a bugcheck error can occur. 

The bugcheck generated is "PAGE_FAULT_IN_NONPAGED_AREA (50). Invalid system memory was referenced."

↑ Back to the top


Cause

When a 32-bit application running on Windows Server 2012 or 64-bit Windows 8 calls DeviceIoControl(), a bugcheck can occur during translation of the passed 32-bit data buffer to a 64-bit buffer in kernel mode.

↑ Back to the top


Resolution

Compiling the application as a 64-bit application will resolve the problem.

↑ Back to the top


More Information

Below is the crashing kernel stack:

5: kd> k
Child-SP          RetAddr           Call Site
fffff880`06e3dd48 fffff801`66464d6d nt!KeBugCheckEx
fffff880`06e3dd50 fffff801`66331d6f nt!MiSystemFault+0x114d0d
fffff880`06e3ddf0 fffff801`662f47ee nt!MmAccessFault+0x54f
fffff880`06e3df30 fffff880`0166b080 nt!KiPageFault+0x16e
fffff880`06e3e0c8 fffff880`0165bf41 mpio!memcpy+0x240
fffff880`06e3e0d0 fffff880`0165426b mpio!MPIOPassThroughPathTranslate32To64+0xf9
fffff880`06e3e110 fffff880`016533cb mpio!MPIOPdoHandleRequest+0x603
fffff880`06e3e3a0 fffff880`01652f5c mpio!MPIOPdoCommonDeviceControl+0x43f
fffff880`06e3e400 fffff801`668b9d76 mpio!MPIOPdoDispatch+0x1a4
(Inline Function) --------`-------- nt!IopfCallDriver+0x63
fffff880`06e3e450 fffff880`02004c68 nt!IovCallDriver+0x3e6
fffff880`06e3e4a0 fffff880`023de971 CLASSPNP!ClassDeviceControl+0x298
fffff880`06e3e650 fffff880`020056cd disk!DiskDeviceControl+0x121
fffff880`06e3e6d0 fffff801`668b9d76 CLASSPNP!ClassDeviceControlDispatch+0x2d
(Inline Function) --------`-------- nt!IopfCallDriver+0x63
fffff880`06e3e700 fffff880`0169fa13 nt!IovCallDriver+0x3e6
fffff880`06e3e750 fffff801`668b9d76 partmgr!PmFilterDeviceControl+0xc3
(Inline Function) --------`-------- nt!IopfCallDriver+0x63
fffff880`06e3e7a0 fffff801`667354cf nt!IovCallDriver+0x3e6
fffff880`06e3e7f0 fffff801`667350e9 nt!RawReadWriteDeviceControl+0xa3
fffff880`06e3e830 fffff801`668b9d76 nt!RawDispatch+0x89
(Inline Function) --------`-------- nt!IopfCallDriver+0x63
fffff880`06e3e890 fffff880`014e10ee nt!IovCallDriver+0x3e6
fffff880`06e3e8e0 fffff801`668b9d76 fltmgr!FltpDispatch+0xee
(Inline Function) --------`-------- nt!IopfCallDriver+0x63
fffff880`06e3e940 fffff801`666db2ff nt!IovCallDriver+0x3e6
(Inline Function) --------`-------- nt!IoCallDriverWithTracing+0x20
(Inline Function) --------`-------- nt!IopCallDriverReference+0xa5
(Inline Function) --------`-------- nt!IopSynchronousServiceTail+0x142
fffff880`06e3e990 fffff801`666dbc86 nt!IopXxxControlFile+0x7dd
fffff880`06e3eb20 fffff801`662f5d53 nt!NtDeviceIoControlFile+0x56
fffff880`06e3eb90 00000000`77bb2ad2 nt!KiSystemServiceCopyEnd+0x13
00000000`002ee9a8 00000000`77bb2717 wow64cpu!CpupSyscallStub+0x2
00000000`002ee9b0 00000000`77b0c4f6 wow64cpu!DeviceIoctlFileFault+0x31
00000000`002eea60 00000000`77b0b8f5 wow64!RunCpuSimulation+0xa
00000000`002eeab0 000007fd`d0f6a107 wow64!Wow64LdrpInitialize+0x435
00000000`002eeff0 000007fd`d0f5216a ntdll!LdrpInitializeProcess+0x1521
00000000`002ef2f0 000007fd`d0f432ae ntdll!_LdrpInitialize+0xee9a
00000000`002ef360 00000000`00000000 ntdll!LdrInitializeThunk+0xe


Here are the relevant links describing the IOCTL, API, and data structures from MSDN:

http://msdn.microsoft.com/en-us/library/aa363216(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/windows/hardware/ff562417(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/hardware/ff560495(v=vs.85).aspx

↑ Back to the top


Keywords: kb

↑ Back to the top

Article Info
Article ID : 2809254
Revision : 1
Created on : 1/7/2017
Published on : 2/11/2013
Exists online : False
Views : 361