Re: [PATCH] staging: fieldbus: convert snprintf to scnprintf

From: Greg Kroah-Hartman
Date: Tue Nov 08 2022 - 10:13:31 EST


On Wed, Nov 02, 2022 at 11:55:52PM +0530, Deepak R Varma wrote:
> It is recommended to use scnprintf instead of snprintf to accurately
> return the size of the encoded data. Following article [1] has details
> on the reason for this kernel level migration. This issue was identified
> using coccicheck.
>
> [1] https://lwn.net/Articles/69419/
>
> Signed-off-by: Deepak R Varma <drv@xxxxxxxxx>
> ---
> drivers/staging/fieldbus/dev_core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/fieldbus/dev_core.c b/drivers/staging/fieldbus/dev_core.c
> index 5aab734606ea..d51f2b02d5e6 100644
> --- a/drivers/staging/fieldbus/dev_core.c
> +++ b/drivers/staging/fieldbus/dev_core.c
> @@ -70,7 +70,7 @@ static ssize_t card_name_show(struct device *dev, struct device_attribute *attr,
> * card_name was provided by child driver, could potentially be long.
> * protect against buffer overrun.
> */
> - return snprintf(buf, PAGE_SIZE, "%s\n", fb->card_name);
> + return scnprintf(buf, PAGE_SIZE, "%s\n", fb->card_name);

No, neither of these are correct.

Please use sysfs_emit() for sysfs show callbacks.

thanks,

greg k-h