svn commit: r307132 - head/sys/cam/scsi

Alexander Motin mav at FreeBSD.org
Wed Oct 12 08:25:14 UTC 2016


Author: mav
Date: Wed Oct 12 08:25:13 2016
New Revision: 307132
URL: https://svnweb.freebsd.org/changeset/base/307132

Log:
  Use copyout() instead of pointing sbuf to user-space buffer.
  
  MFC after:	2 weeks

Modified:
  head/sys/cam/scsi/scsi_enc_ses.c

Modified: head/sys/cam/scsi/scsi_enc_ses.c
==============================================================================
--- head/sys/cam/scsi/scsi_enc_ses.c	Wed Oct 12 07:08:32 2016	(r307131)
+++ head/sys/cam/scsi/scsi_enc_ses.c	Wed Oct 12 08:25:13 2016	(r307132)
@@ -2672,13 +2672,13 @@ ses_get_elm_devnames(enc_softc_t *enc, e
 	if (len < 0)
 		return (EINVAL);
 
-	sbuf_new(&sb, elmdn->elm_devnames, len, 0);
-
 	cam_periph_unlock(enc->periph);
+	sbuf_new(&sb, NULL, len, SBUF_FIXEDLEN);
 	ses_paths_iter(enc, &enc->enc_cache.elm_map[elmdn->elm_idx],
 		       ses_elmdevname_callback, &sb);
 	sbuf_finish(&sb);
 	elmdn->elm_names_len = sbuf_len(&sb);
+	copyout(sbuf_data(&sb), elmdn->elm_devnames, elmdn->elm_names_len + 1);
 	cam_periph_lock(enc->periph);
 	return (elmdn->elm_names_len > 0 ? 0 : ENODEV);
 }


More information about the svn-src-head mailing list