From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3229609536770942909==" MIME-Version: 1.0 From: kernel test robot Subject: [PATCH] coccinelle: api: fix device_attr_show.cocci warnings Date: Fri, 03 Jul 2020 19:36:03 +0800 Message-ID: <20200703113603.GA19292@bf425ecdd42c> In-Reply-To: <202007031941.um9p1FRJ%lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============3229609536770942909== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org TO: Denis Efremov CC: Julia Lawall CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi(a)vger.kernel.org CC: linux-kernel(a)vger.kernel.org From: kernel test robot drivers/scsi/scsi_transport_fc.c:1557:9-17: WARNING: use scnprintf or sprin= tf drivers/scsi/scsi_transport_fc.c:1481:9-17: WARNING: use scnprintf or sprin= tf drivers/scsi/scsi_transport_fc.c:1505:9-17: WARNING: use scnprintf or sprin= tf drivers/scsi/scsi_transport_fc.c:1590:8-16: WARNING: use scnprintf or sprin= tf drivers/scsi/scsi_transport_fc.c:955:9-17: WARNING: use scnprintf or sprintf drivers/scsi/scsi_transport_fc.c:921:10-18: WARNING: use scnprintf or sprin= tf drivers/scsi/scsi_transport_fc.c:826:9-17: WARNING: use scnprintf or sprintf drivers/scsi/scsi_transport_fc.c:1255:9-17: WARNING: use scnprintf or sprin= tf From Documentation/filesystems/sysfs.txt: show() must not use snprintf() when formatting the value to be returned to user space. If you can guarantee that an overflow will never happen you can use sprintf() otherwise you must use scnprintf(). Generated by: scripts/coccinelle/api/device_attr_show.cocci Fixes: 988676da8375 ("coccinelle: api: add device_attr_show script") CC: Denis Efremov Signed-off-by: kernel test robot --- tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux.git f= or-5.9 head: 5502a4eb3af819792a6c43b418c401f613a39d02 commit: 988676da837516bbfafda5478472fd4265f0de4e [1/3] coccinelle: api: add= device_attr_show script :::::: branch date: 8 days ago :::::: commit date: 9 days ago Please take the patch only if it's a positive warning. Thanks! scsi_transport_fc.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c @@ -823,7 +823,7 @@ show_fc_rport_supported_classes (struct { struct fc_rport *rport =3D transport_class_to_rport(dev); if (rport->supported_classes =3D=3D FC_COS_UNSPECIFIED) - return snprintf(buf, 20, "unspecified\n"); + return scnprintf(buf, 20, "unspecified\n"); return get_fc_cos_names(rport->supported_classes, buf); } static FC_DEVICE_ATTR(rport, supported_classes, S_IRUGO, @@ -918,21 +918,21 @@ show_fc_rport_roles (struct device *dev, FC_WELLKNOWN_PORTID_MASK) { switch (rport->port_id & FC_WELLKNOWN_ROLE_MASK) { case FC_FPORT_PORTID: - return snprintf(buf, 30, "Fabric Port\n"); + return scnprintf(buf, 30, "Fabric Port\n"); case FC_FABCTLR_PORTID: - return snprintf(buf, 30, "Fabric Controller\n"); + return scnprintf(buf, 30, "Fabric Controller\n"); case FC_DIRSRVR_PORTID: - return snprintf(buf, 30, "Directory Server\n"); + return scnprintf(buf, 30, "Directory Server\n"); case FC_TIMESRVR_PORTID: - return snprintf(buf, 30, "Time Server\n"); + return scnprintf(buf, 30, "Time Server\n"); case FC_MGMTSRVR_PORTID: - return snprintf(buf, 30, "Management Server\n"); + return scnprintf(buf, 30, "Management Server\n"); default: - return snprintf(buf, 30, "Unknown Fabric Entity\n"); + return scnprintf(buf, 30, "Unknown Fabric Entity\n"); } } else { if (rport->roles =3D=3D FC_PORT_ROLE_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return scnprintf(buf, 20, "unknown\n"); return get_fc_port_roles_names(rport->roles, buf); } } @@ -952,8 +952,8 @@ show_fc_rport_fast_io_fail_tmo (struct d struct fc_rport *rport =3D transport_class_to_rport(dev); = if (rport->fast_io_fail_tmo =3D=3D -1) - return snprintf(buf, 5, "off\n"); - return snprintf(buf, 20, "%d\n", rport->fast_io_fail_tmo); + return scnprintf(buf, 5, "off\n"); + return scnprintf(buf, 20, "%d\n", rport->fast_io_fail_tmo); } = static ssize_t @@ -1252,7 +1252,7 @@ show_fc_vport_roles (struct device *dev, struct fc_vport *vport =3D transport_class_to_vport(dev); = if (vport->roles =3D=3D FC_PORT_ROLE_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return scnprintf(buf, 20, "unknown\n"); return get_fc_port_roles_names(vport->roles, buf); } static FC_DEVICE_ATTR(vport, roles, S_IRUGO, show_fc_vport_roles, NULL); @@ -1478,7 +1478,7 @@ show_fc_host_supported_classes (struct d struct Scsi_Host *shost =3D transport_class_to_shost(dev); = if (fc_host_supported_classes(shost) =3D=3D FC_COS_UNSPECIFIED) - return snprintf(buf, 20, "unspecified\n"); + return scnprintf(buf, 20, "unspecified\n"); = return get_fc_cos_names(fc_host_supported_classes(shost), buf); } @@ -1502,7 +1502,7 @@ show_fc_host_supported_speeds (struct de struct Scsi_Host *shost =3D transport_class_to_shost(dev); = if (fc_host_supported_speeds(shost) =3D=3D FC_PORTSPEED_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return scnprintf(buf, 20, "unknown\n"); = return get_fc_port_speed_names(fc_host_supported_speeds(shost), buf); } @@ -1554,7 +1554,7 @@ show_fc_host_speed (struct device *dev, i->f->get_host_speed(shost); = if (fc_host_speed(shost) =3D=3D FC_PORTSPEED_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return scnprintf(buf, 20, "unknown\n"); = return get_fc_port_speed_names(fc_host_speed(shost), buf); } @@ -1587,7 +1587,7 @@ show_fc_private_host_tgtid_bind_type(str name =3D get_fc_tgtid_bind_type_name(fc_host_tgtid_bind_type(shost)); if (!name) return -EINVAL; - return snprintf(buf, FC_BINDTYPE_MAX_NAMELEN, "%s\n", name); + return scnprintf(buf, FC_BINDTYPE_MAX_NAMELEN, "%s\n", name); } = #define get_list_head_entry(pos, head, member) \ --===============3229609536770942909==--