Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Oct 2011 21:23:42 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r226118 - in head/sys/dev: isp mps mpt
Message-ID:  <201110072123.p97LNgRr028233@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Fri Oct  7 21:23:42 2011
New Revision: 226118
URL: http://svn.freebsd.org/changeset/base/226118

Log:
  Sync with ahc(4)/ahd(4)/sym(4) etc:
  Zero any sense not transferred by the device as the SCSI specification
  mandates that any untransferred data should be assumed to be zero.
  
  Reviewed by:	ken

Modified:
  head/sys/dev/isp/isp_freebsd.h
  head/sys/dev/mps/mps_sas.c
  head/sys/dev/mpt/mpt_cam.c

Modified: head/sys/dev/isp/isp_freebsd.h
==============================================================================
--- head/sys/dev/isp/isp_freebsd.h	Fri Oct  7 21:00:26 2011	(r226117)
+++ head/sys/dev/isp/isp_freebsd.h	Fri Oct  7 21:23:42 2011	(r226118)
@@ -486,6 +486,7 @@ default:							\
 
 #define	XS_SAVE_SENSE(xs, sense_ptr, slen)	do {			\
 		(xs)->ccb_h.status |= CAM_AUTOSNS_VALID;		\
+		memset(&(xs)->sense_data, 0, sizeof(&(xs)->sense_data));\
 		memcpy(&(xs)->sense_data, sense_ptr, imin(XS_SNSLEN(xs),\
 		       slen)); 						\
 		if (slen < (xs)->sense_len) 				\

Modified: head/sys/dev/mps/mps_sas.c
==============================================================================
--- head/sys/dev/mps/mps_sas.c	Fri Oct  7 21:00:26 2011	(r226117)
+++ head/sys/dev/mps/mps_sas.c	Fri Oct  7 21:23:42 2011	(r226118)
@@ -1675,6 +1675,7 @@ mpssas_scsiio_complete(struct mps_softc 
 
 		sense_len = min(rep->SenseCount, ccb->csio.sense_len -
 		    ccb->csio.sense_resid);
+		bzero(&ccb->csio.sense_data, sizeof(&ccb->csio.sense_data));
 		bcopy(cm->cm_sense, &ccb->csio.sense_data, sense_len);
 		ccb->ccb_h.status |= CAM_AUTOSNS_VALID;
 	}

Modified: head/sys/dev/mpt/mpt_cam.c
==============================================================================
--- head/sys/dev/mpt/mpt_cam.c	Fri Oct  7 21:00:26 2011	(r226117)
+++ head/sys/dev/mpt/mpt_cam.c	Fri Oct  7 21:23:42 2011	(r226118)
@@ -3178,6 +3178,7 @@ mpt_scsi_reply_frame_handler(struct mpt_
 		else
 			ccb->csio.sense_resid = 0;
 
+		bzero(&ccb->csio.sense_data, sizeof(&ccb->csio.sense_data));
 		bcopy(req->sense_vbuf, &ccb->csio.sense_data,
 		    min(ccb->csio.sense_len, sense_returned));
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110072123.p97LNgRr028233>