[nvmewin] IOCTL_SCSI_MINIPORT_IDENTIFY -> NVMeBuildIdentify()

Mike Berhan mikeb at bustrace.com
Wed Aug 13 09:39:40 PDT 2014


The driver's attempt to map NVMe data to an ATA Identify structure is
incorrect in the NVMeBuildIdentify() routine.  I see multiple issues
including:

 

1.       The driver is copying an NVMe ASCII string into an ATA String
without doing the required byte swapping

2.       The Checksum Validity Indicator (i.e. Word 255 - Bits 7:0) is not
being set to A5h

3.       The Checksum (i.e. Word 255 - Bits 15:8) is not being set to the
two's complement of the sum of the previous bytes

 

I have attached the required source code changes, as well as a DIFF file,
that corrects these issues if you want to incorporate them into the 1.4
driver.

 

Why is the miniport driver processing these SCSIDISK IOCTLs?  What issue
does it solve?  Microsoft's NVMe driver does not appear to process these
requests.

 

Mike Berhan

busTRACE Technologies

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/nvmewin/attachments/20140813/66f39d28/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: NVMeBuildIdentify Diff.zip
Type: application/x-zip-compressed
Size: 37691 bytes
Desc: not available
URL: <http://lists.openfabrics.org/pipermail/nvmewin/attachments/20140813/66f39d28/attachment.bin>


More information about the nvmewin mailing list