public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] comedi: Convert snprintf() to sysfs_emit()
@ 2022-09-28 13:23 Jules Irenge
  2022-09-30 12:24 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Jules Irenge @ 2022-09-28 13:23 UTC (permalink / raw)
  To: gregkh; +Cc: hsweeten, abbotti, linux-kernel

Coccinnelle reports a warning
Warning: Use scnprintf or sprintf

Adding to that, there has been a slow migration from snprintf to scnprintf.
This LWN article explains the rationale for this change

https: //lwn.net/Articles/69419/
ie. snprintf() returns what *would* be the resulting length,
 while scnprintf() returns the actual length.

However following the advice on
https://www.kernel.org/doc/html/latest/filesystems/sysfs.html

For show(device *...) functions we should only use sysfs_emit() or sysfs_emit_at()
 especially when formatting the value to be returned to user space.

Hence here
We convert to sysfs_emit() that even does better and shorten the code
using the same rationale of scnprintf()

Signed-off-by: Jules Irenge <jules.irenge@postgrad.manchester.ac.uk>
---

v2: Replace scnprintf() with sysfs_emit()

 drivers/comedi/comedi_fops.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/comedi/comedi_fops.c b/drivers/comedi/comedi_fops.c
index 55a0cae04b8d..a6017fafcb2a 100644
--- a/drivers/comedi/comedi_fops.c
+++ b/drivers/comedi/comedi_fops.c
@@ -396,7 +396,7 @@ static ssize_t max_read_buffer_kb_show(struct device *csdev,
 	mutex_unlock(&dev->mutex);
 
 	comedi_dev_put(dev);
-	return snprintf(buf, PAGE_SIZE, "%u\n", size);
+	return sysfs_emit(buf, "%u\n", size);
 }
 
 static ssize_t max_read_buffer_kb_store(struct device *csdev,
-- 
2.37.3


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] comedi: Convert snprintf() to sysfs_emit()
  2022-09-28 13:23 [PATCH v2] comedi: Convert snprintf() to sysfs_emit() Jules Irenge
@ 2022-09-30 12:24 ` Greg KH
  0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2022-09-30 12:24 UTC (permalink / raw)
  To: Jules Irenge; +Cc: hsweeten, abbotti, linux-kernel

On Wed, Sep 28, 2022 at 02:23:41PM +0100, Jules Irenge wrote:
> Coccinnelle reports a warning
> Warning: Use scnprintf or sprintf
> 
> Adding to that, there has been a slow migration from snprintf to scnprintf.
> This LWN article explains the rationale for this change
> 
> https: //lwn.net/Articles/69419/
> ie. snprintf() returns what *would* be the resulting length,
>  while scnprintf() returns the actual length.

None of this is needed or relevant for this change.

> 
> However following the advice on
> https://www.kernel.org/doc/html/latest/filesystems/sysfs.html
> 
> For show(device *...) functions we should only use sysfs_emit() or sysfs_emit_at()
>  especially when formatting the value to be returned to user space.
> 
> Hence here
> We convert to sysfs_emit() that even does better and shorten the code
> using the same rationale of scnprintf()
> 
> Signed-off-by: Jules Irenge <jules.irenge@postgrad.manchester.ac.uk>
> ---
> 
> v2: Replace scnprintf() with sysfs_emit()
> 
>  drivers/comedi/comedi_fops.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/comedi/comedi_fops.c b/drivers/comedi/comedi_fops.c
> index 55a0cae04b8d..a6017fafcb2a 100644
> --- a/drivers/comedi/comedi_fops.c
> +++ b/drivers/comedi/comedi_fops.c
> @@ -396,7 +396,7 @@ static ssize_t max_read_buffer_kb_show(struct device *csdev,
>  	mutex_unlock(&dev->mutex);
>  
>  	comedi_dev_put(dev);
> -	return snprintf(buf, PAGE_SIZE, "%u\n", size);
> +	return sysfs_emit(buf, "%u\n", size);
>  }
>  
>  static ssize_t max_read_buffer_kb_store(struct device *csdev,

Does not apply to my tree :(

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-09-30 12:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-28 13:23 [PATCH v2] comedi: Convert snprintf() to sysfs_emit() Jules Irenge
2022-09-30 12:24 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox