Hi,
On Windows 2012 server I am getting the following Bsod
Bugcheck - MEMORY_MANAGEMENT (1a)
Arg1: 0000000000061946
Due to some reason, need to use IOCTL_SCSI_PASSTHROUGH_DIRECT to read data
from the below scsi device instead of calling IRP_MJ_READ on the lower
device.
I mapped the Mdl received in my driver(DO_DIRECT_IO) to system space
address by calling MmGetSystemAddressForMdlSafe() and passed this system
space address to below driver.
SCSI_PASS_THROUGH_DIRECT.DataBuffer =
MmGetSystemAddressForMdlSafe(Mdl received in my driver)
But the host crashed with the following stack
* # Call Site*
*00 nt!KeBugCheckEx*
*01 nt! ?? ::FNODOBFM::`string’*
*02 nt!MmProbeAndLockPages*
*03 storport!PortPassThroughBuildIrp*
*04 storport!PortPassThroughSendAsync*
*05 storport!PortPassThroughExSendAsync*
*06 storport!RaidAdapterPassThrough*
*07 storport!RaidAdapterDeviceControlIrp*
*08 storport!RaDriverDeviceControlIrp*
*09 storport!RaUnitScsiPassThroughIoctl*
*0a storport!RaUnitDeviceControlIrp*
*0b storport!RaDriverDeviceControlIrp*
*0c CLASSPNP!ClassDeviceControl*
*0d disk!DiskDeviceControl*
*0e CLASSPNP!ClassDeviceControlDispatch*
Is any extra handling is required while passing the mapped buffer to below
driver?
Thanks,
-Vipul.