diff mbox series

scsi: csiostor: replace snprintf with sysfs_emit

Message ID d711ec5a5f416204079155666d2de49d43070897.1644287527.git.yang.guang5@zte.com.cn (mailing list archive)
State Superseded
Headers show
Series scsi: csiostor: replace snprintf with sysfs_emit | expand

Commit Message

David Yang Feb. 9, 2022, 12:40 a.m. UTC
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(-)

Comments

Damien Le Moal Feb. 9, 2022, 2:36 a.m. UTC | #1
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);
Joe Perches Feb. 9, 2022, 3:12 a.m. UTC | #2
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");
Damien Le Moal Feb. 9, 2022, 3:16 a.m. UTC | #3
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 Feb. 9, 2022, 3:34 a.m. UTC | #4
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 :)
>
diff mbox series

Patch

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);