svn commit: r269631 - head/sys/cam/ctl

Alexander Motin mav at FreeBSD.org
Wed Aug 6 17:02:19 UTC 2014


Author: mav
Date: Wed Aug  6 17:02:19 2014
New Revision: 269631
URL: http://svnweb.freebsd.org/changeset/base/269631

Log:
  Reduce reported additional INQUIRY data length.
  
  sizeof(struct scsi_inquiry_data) of 256 bytes combined with off-by-one
  error in the changed code gave total INQUIRY data length above 255 bytes,
  that was maximal INQUIRY length in SPC-2.  While SPC-3 increased the
  maximal length to 64K, at least sg3_utils are still confused by that.
  
  MFC after:	1 week

Modified:
  head/sys/cam/ctl/ctl.c

Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c	Wed Aug  6 16:44:31 2014	(r269630)
+++ head/sys/cam/ctl/ctl.c	Wed Aug  6 17:02:19 2014	(r269631)
@@ -10462,7 +10462,9 @@ ctl_inquiry_std(struct ctl_scsiio *ctsio
 	 */
 	inq_ptr->response_format = SID_HiSup | 2;
 
-	inq_ptr->additional_length = sizeof(*inq_ptr) - 4;
+	inq_ptr->additional_length =
+	    offsetof(struct scsi_inquiry_data, vendor_specific1) -
+	    (offsetof(struct scsi_inquiry_data, additional_length) + 1);
 	CTL_DEBUG_PRINT(("additional_length = %d\n",
 			 inq_ptr->additional_length));
 


More information about the svn-src-all mailing list