Re: [PATCH] coccinelle: api: fix device_attr_show.cocci warnings

From: Bartlomiej Zolnierkiewicz
Date: Tue Sep 08 2020 - 08:56:18 EST



Hi,

On 8/10/20 11:21 AM, kernel test robot wrote:
> From: kernel test robot <lkp@xxxxxxxxx>
>
> drivers/video/fbdev/core/fbcon.c:3509:8-16: WARNING: use scnprintf or sprintf
> drivers/video/fbdev/core/fbcon.c:3484:8-16: WARNING: use scnprintf or sprintf
>
>
> From Documentation/filesystems/sysfs.txt:
> show() must not use snprintf() when formatting the value to be
> returned to user space. If you can guarantee that an overflow
> will never happen you can use sprintf() otherwise you must use
> scnprintf().
>
> Generated by: scripts/coccinelle/api/device_attr_show.cocci
>
> Fixes: abfc19ff202d ("coccinelle: api: add device_attr_show script")
> CC: Denis Efremov <efremov@xxxxxxxxx>
> Signed-off-by: kernel test robot <lkp@xxxxxxxxx>
> ---
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
> commit: abfc19ff202d287742483e15fd478ddd6ada2187 coccinelle: api: add device_attr_show script
>
> Please take the patch only if it's a positive warning. Thanks!
>
> fbcon.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> --- a/drivers/video/fbdev/core/fbcon.c
> +++ b/drivers/video/fbdev/core/fbcon.c
> @@ -3481,7 +3481,7 @@ static ssize_t show_rotate(struct device
> rotate = fbcon_get_rotate(info);
> err:
> console_unlock();
> - return snprintf(buf, PAGE_SIZE, "%d\n", rotate);
> + return scnprintf(buf, PAGE_SIZE, "%d\n", rotate);

buf length is at least PAGE_SIZE and rotate val is an int so
shouldn't this be converted to use sprintf() instead?

> }
>
> static ssize_t show_cursor_blink(struct device *device,
> @@ -3506,7 +3506,7 @@ static ssize_t show_cursor_blink(struct
> blink = (ops->flags & FBCON_FLAGS_CURSOR_TIMER) ? 1 : 0;
> err:
> console_unlock();
> - return snprintf(buf, PAGE_SIZE, "%d\n", blink);
> + return scnprintf(buf, PAGE_SIZE, "%d\n", blink);

ditto for blink val

> }
>
> static ssize_t store_cursor_blink(struct device *device,
>

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics