2021-02-03 08:46:13

by Jiapeng Chong

[permalink] [raw]
Subject: [PATCH] scsi: isci: convert sysfs sprintf/snprintf family to sysfs_emit

Fix the following coccicheck warning:

./drivers/scsi/isci/init.c:140:8-16: WARNING: use scnprintf or sprintf.

Reported-by: Abaci Robot<[email protected]>
Signed-off-by: Jiapeng Chong <[email protected]>
---
drivers/scsi/isci/init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
index c452849..741a98e 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -137,7 +137,7 @@ static ssize_t isci_show_id(struct device *dev, struct device_attribute *attr, c
struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost);
struct isci_host *ihost = container_of(sas_ha, typeof(*ihost), sas_ha);

- return snprintf(buf, PAGE_SIZE, "%d\n", ihost->id);
+ return sysfs_emit(buf, "%d\n", ihost->id);
}

static DEVICE_ATTR(isci_id, S_IRUGO, isci_show_id, NULL);
--
1.8.3.1


2021-02-03 16:17:45

by James Bottomley

[permalink] [raw]
Subject: Re: [PATCH] scsi: isci: convert sysfs sprintf/snprintf family to sysfs_emit

On Wed, 2021-02-03 at 16:43 +0800, Jiapeng Chong wrote:
> Fix the following coccicheck warning:
>
> ./drivers/scsi/isci/init.c:140:8-16: WARNING: use scnprintf or
> sprintf.
>
> Reported-by: Abaci Robot<[email protected]>
> Signed-off-by: Jiapeng Chong <[email protected]>
> ---
> drivers/scsi/isci/init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
> index c452849..741a98e 100644
> --- a/drivers/scsi/isci/init.c
> +++ b/drivers/scsi/isci/init.c
> @@ -137,7 +137,7 @@ static ssize_t isci_show_id(struct device *dev,
> struct device_attribute *attr, c
> struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost);
> struct isci_host *ihost = container_of(sas_ha, typeof(*ihost),
> sas_ha);
>
> - return snprintf(buf, PAGE_SIZE, "%d\n", ihost->id);
> + return sysfs_emit(buf, "%d\n", ihost->id);

What's the point of doing this change? We'd have to have 13,600 bit
integer types before this could ever possibly overflow and the
difference between snprintf and scnprintf actually matter from a
practical point of view. Perhaps the coccinelle check should be
updated to account for these common impossible to overflow situations.

James