CC: kbuild-all(a)lists.01.org TO: Denis Efremov CC: Julia Lawall CC: "Greg Kroah-Hartman" CC: Jiri Slaby CC: linux-serial(a)vger.kernel.org CC: linux-kernel(a)vger.kernel.org From: kernel test robot drivers/tty/serial/serial_core.c:2701:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2711:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2721:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2681:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2731:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2741:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2751:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2671:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2647:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2661:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2637:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2627:8-16: WARNING: use scnprintf or sprintf drivers/tty/serial/serial_core.c:2691: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: 988676da8375 ("coccinelle: api: add device_attr_show script") CC: Denis Efremov Signed-off-by: kernel test robot --- tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux.git for-5.9 head: 5502a4eb3af819792a6c43b418c401f613a39d02 commit: 988676da837516bbfafda5478472fd4265f0de4e [1/3] coccinelle: api: add device_attr_show script :::::: branch date: 8 days ago :::::: commit date: 9 days ago Please take the patch only if it's a positive warning. Thanks! serial_core.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -2624,7 +2624,7 @@ static ssize_t uartclk_show(struct devic struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.baud_base * 16); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.baud_base * 16); } static ssize_t type_show(struct device *dev, @@ -2634,7 +2634,7 @@ static ssize_t type_show(struct device * struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.type); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.type); } static ssize_t line_show(struct device *dev, @@ -2644,7 +2644,7 @@ static ssize_t line_show(struct device * struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.line); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.line); } static ssize_t port_show(struct device *dev, @@ -2658,7 +2658,7 @@ static ssize_t port_show(struct device * ioaddr = tmp.port; if (HIGH_BITS_OFFSET) ioaddr |= (unsigned long)tmp.port_high << HIGH_BITS_OFFSET; - return snprintf(buf, PAGE_SIZE, "0x%lX\n", ioaddr); + return scnprintf(buf, PAGE_SIZE, "0x%lX\n", ioaddr); } static ssize_t irq_show(struct device *dev, @@ -2668,7 +2668,7 @@ static ssize_t irq_show(struct device *d struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.irq); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.irq); } static ssize_t flags_show(struct device *dev, @@ -2678,7 +2678,7 @@ static ssize_t flags_show(struct device struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "0x%X\n", tmp.flags); + return scnprintf(buf, PAGE_SIZE, "0x%X\n", tmp.flags); } static ssize_t xmit_fifo_size_show(struct device *dev, @@ -2688,7 +2688,7 @@ static ssize_t xmit_fifo_size_show(struc struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.xmit_fifo_size); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.xmit_fifo_size); } static ssize_t close_delay_show(struct device *dev, @@ -2698,7 +2698,7 @@ static ssize_t close_delay_show(struct d struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.close_delay); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.close_delay); } static ssize_t closing_wait_show(struct device *dev, @@ -2708,7 +2708,7 @@ static ssize_t closing_wait_show(struct struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.closing_wait); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.closing_wait); } static ssize_t custom_divisor_show(struct device *dev, @@ -2718,7 +2718,7 @@ static ssize_t custom_divisor_show(struc struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.custom_divisor); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.custom_divisor); } static ssize_t io_type_show(struct device *dev, @@ -2728,7 +2728,7 @@ static ssize_t io_type_show(struct devic struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.io_type); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.io_type); } static ssize_t iomem_base_show(struct device *dev, @@ -2738,7 +2738,7 @@ static ssize_t iomem_base_show(struct de struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "0x%lX\n", (unsigned long)tmp.iomem_base); + return scnprintf(buf, PAGE_SIZE, "0x%lX\n", (unsigned long)tmp.iomem_base); } static ssize_t iomem_reg_shift_show(struct device *dev, @@ -2748,7 +2748,7 @@ static ssize_t iomem_reg_shift_show(stru struct tty_port *port = dev_get_drvdata(dev); uart_get_info(port, &tmp); - return snprintf(buf, PAGE_SIZE, "%d\n", tmp.iomem_reg_shift); + return scnprintf(buf, PAGE_SIZE, "%d\n", tmp.iomem_reg_shift); } static ssize_t console_show(struct device *dev,