Re: [PATCH] scsi: csiostor: replace snprintf with sysfs_emit

From: Damien Le Moal
Date: Tue Feb 08 2022 - 21:45:42 EST


On 2/9/22 09:40, davidcomponentone@xxxxxxxxx wrote:
> From: Yang Guang <yang.guang5@xxxxxxxxxx>
>
> coccinelle report:
> ./drivers/scsi/csiostor/csio_scsi.c:1433:8-16:
> WARNING: use scnprintf or sprintf
> ./drivers/scsi/csiostor/csio_scsi.c:1369:9-17:
> WARNING: use scnprintf or sprintf
> ./drivers/scsi/csiostor/csio_scsi.c:1479:8-16:
> WARNING: use scnprintf or sprintf
>
> Use sysfs_emit instead of scnprintf or sprintf makes more sense.
>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Yang Guang <yang.guang5@xxxxxxxxxx>
> Signed-off-by: David Yang <davidcomponentone@xxxxxxxxx>
> ---
> drivers/scsi/csiostor/csio_scsi.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c
> index 55db02521221..f9b87ae2aa25 100644
> --- a/drivers/scsi/csiostor/csio_scsi.c
> +++ b/drivers/scsi/csiostor/csio_scsi.c
> @@ -1366,9 +1366,9 @@ csio_show_hw_state(struct device *dev,
> struct csio_hw *hw = csio_lnode_to_hw(ln);
>
> if (csio_is_hw_ready(hw))
> - return snprintf(buf, PAGE_SIZE, "ready\n");
> + return sysfs_emit(buf, "ready\n");
> else
> - return snprintf(buf, PAGE_SIZE, "not ready\n");
> + return sysfs_emit(buf, "not ready\n");

While at it, you could remove the useless "else" above.

> }
>
> /* Device reset */
> @@ -1430,7 +1430,7 @@ csio_show_dbg_level(struct device *dev,
> {
> struct csio_lnode *ln = shost_priv(class_to_shost(dev));
>
> - return snprintf(buf, PAGE_SIZE, "%x\n", ln->params.log_level);
> + return sysfs_emit(buf, "%x\n", ln->params.log_level);
> }
>
> /* Store debug level */
> @@ -1476,7 +1476,7 @@ csio_show_num_reg_rnodes(struct device *dev,
> {
> struct csio_lnode *ln = shost_priv(class_to_shost(dev));
>
> - return snprintf(buf, PAGE_SIZE, "%d\n", ln->num_reg_rnodes);
> + return sysfs_emit(buf, "%d\n", ln->num_reg_rnodes);

num_reg_rnodes is uint32_t so the format should use %u.

> }
>
> static DEVICE_ATTR(num_reg_rnodes, S_IRUGO, csio_show_num_reg_rnodes, NULL);


--
Damien Le Moal
Western Digital Research