Created attachment 183787 [details] patch to convert all instances of nsid to uint32_t Several places passed in the NVMe Namespace ID (nsid) as a 16 bit value, but the specification defines this as a 32-bit value. Note other places in the driver correctly specify the nsid as 32 bits. Signed-off-by: Chuck Tuffli <chuck@tuffli.net>
@imp fixed this with r322902
Except I didn't completely. Chuck had a few things in his patch I missed, which I'll commit now. Didn't recall this bug, but it would explain why I couldn't seem to find this when I went to phab and looked when I had a vague feeling I'd seen this before...
A commit references this bug: Author: imp Date: Tue Aug 29 15:46:34 UTC 2017 New revision: 322998 URL: https://svnweb.freebsd.org/changeset/base/322998 Log: Fix a few overlooked spots where the coded uses 16-bit NSIDs. Chuck Tuffli had submitted a more thorough patch that I was unaware of when I did my work and this brings in the bits I missed from that patch. PR: 220267 Submitted by: Chuck Tuffli Changes: head/sys/cam/cam_ccb.h head/sys/dev/nvme/nvme.h
Will we MFC this to stable/11?