drivers/scsi/csiostor/csio_scsi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
From: Yang Guang <yang.guang5@zte.com.cn>
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@zte.com.cn>
Signed-off-by: Yang Guang <yang.guang5@zte.com.cn>
Signed-off-by: David Yang <davidcomponentone@gmail.com>
---
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");
}
/* 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);
}
static DEVICE_ATTR(num_reg_rnodes, S_IRUGO, csio_show_num_reg_rnodes, NULL);
--
2.30.2
On 2/9/22 09:40, davidcomponentone@gmail.com wrote:
> From: Yang Guang <yang.guang5@zte.com.cn>
>
> 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@zte.com.cn>
> Signed-off-by: Yang Guang <yang.guang5@zte.com.cn>
> Signed-off-by: David Yang <davidcomponentone@gmail.com>
> ---
> 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
On Wed, 2022-02-09 at 11:36 +0900, Damien Le Moal wrote: > On 2/9/22 09:40, davidcomponentone@gmail.com wrote: > > From: Yang Guang <yang.guang5@zte.com.cn> > > > > 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. [] > > diff --git 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. Or not. It's fine as is. It's just a style preference. Another style option would be to use a ?: like any of return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); or return sysfs_emit(buf, "%s\n", csio_is_hw_ready(hw) ? "ready" : "not ready"); or return sysfs_emit(buf, csio_is_hw_ready(hw) ? "ready\n" : "not ready\n");
On 2022/02/09 12:12, Joe Perches wrote: > On Wed, 2022-02-09 at 11:36 +0900, Damien Le Moal wrote: >> On 2/9/22 09:40, davidcomponentone@gmail.com wrote: >>> From: Yang Guang <yang.guang5@zte.com.cn> >>> >>> 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. > [] >>> diff --git 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. > > Or not. It's fine as is. It's just a style preference. It is. I dislike the useless line of code in this case :) > > Another style option would be to use a ?: like any of > > return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); > or > return sysfs_emit(buf, "%s\n", csio_is_hw_ready(hw) ? "ready" : "not ready"); > or > return sysfs_emit(buf, csio_is_hw_ready(hw) ? "ready\n" : "not ready\n"); That is nice and can make that return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); too :) -- Damien Le Moal Western Digital Research
On 2022/02/09 12:16, Damien Le Moal wrote: > On 2022/02/09 12:12, Joe Perches wrote: >> On Wed, 2022-02-09 at 11:36 +0900, Damien Le Moal wrote: >>> On 2/9/22 09:40, davidcomponentone@gmail.com wrote: >>>> From: Yang Guang <yang.guang5@zte.com.cn> >>>> >>>> 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. >> [] >>>> diff --git 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. >> >> Or not. It's fine as is. It's just a style preference. > > It is. I dislike the useless line of code in this case :) > >> >> Another style option would be to use a ?: like any of >> >> return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); >> or >> return sysfs_emit(buf, "%s\n", csio_is_hw_ready(hw) ? "ready" : "not ready"); >> or >> return sysfs_emit(buf, csio_is_hw_ready(hw) ? "ready\n" : "not ready\n"); > > That is nice and can make that > > return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); Oops. You did have that one listed... Read too quickly... > > too :) > -- Damien Le Moal Western Digital Research
© 2016 - 2026 Red Hat, Inc.