[PATCH] tty: move from strlcpy with unused retval to strscpy

Jiri Slaby jirislaby at kernel.org
Tue Aug 30 17:23:15 AEST 2022


On 18. 08. 22, 23:01, Wolfram Sang wrote:
> Follow the advice of the below link and prefer 'strscpy' in this
> subsystem. Conversion is 1:1 because the return value is not used.
> Generated by a coccinelle script.

Reviewed-by: Jiri Slaby <jirislaby at kernel.org>

> Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
> Signed-off-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
> ---
>   drivers/tty/hvc/hvcs.c           | 2 +-
>   drivers/tty/serial/earlycon.c    | 6 +++---
>   drivers/tty/serial/serial_core.c | 2 +-
>   drivers/tty/serial/sunsu.c       | 6 +++---
>   drivers/tty/serial/sunzilog.c    | 6 +++---
>   5 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c
> index 9b7e8246a464..b79ce8d34f11 100644
> --- a/drivers/tty/hvc/hvcs.c
> +++ b/drivers/tty/hvc/hvcs.c
> @@ -839,7 +839,7 @@ static void hvcs_set_pi(struct hvcs_partner_info *pi, struct hvcs_struct *hvcsd)
>   	hvcsd->p_partition_ID  = pi->partition_ID;
>   
>   	/* copy the null-term char too */
> -	strlcpy(hvcsd->p_location_code, pi->location_code,
> +	strscpy(hvcsd->p_location_code, pi->location_code,
>   		sizeof(hvcsd->p_location_code));
>   }
>   
> diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c
> index 88d08ba1ca83..a5f380584cda 100644
> --- a/drivers/tty/serial/earlycon.c
> +++ b/drivers/tty/serial/earlycon.c
> @@ -67,7 +67,7 @@ static void __init earlycon_init(struct earlycon_device *device,
>   	if (*s)
>   		earlycon->index = simple_strtoul(s, NULL, 10);
>   	len = s - name;
> -	strlcpy(earlycon->name, name, min(len + 1, sizeof(earlycon->name)));
> +	strscpy(earlycon->name, name, min(len + 1, sizeof(earlycon->name)));
>   	earlycon->data = &early_console_dev;
>   }
>   
> @@ -123,7 +123,7 @@ static int __init parse_options(struct earlycon_device *device, char *options)
>   		device->baud = simple_strtoul(options, NULL, 0);
>   		length = min(strcspn(options, " ") + 1,
>   			     (size_t)(sizeof(device->options)));
> -		strlcpy(device->options, options, length);
> +		strscpy(device->options, options, length);
>   	}
>   
>   	return 0;
> @@ -304,7 +304,7 @@ int __init of_setup_earlycon(const struct earlycon_id *match,
>   
>   	if (options) {
>   		early_console_dev.baud = simple_strtoul(options, NULL, 0);
> -		strlcpy(early_console_dev.options, options,
> +		strscpy(early_console_dev.options, options,
>   			sizeof(early_console_dev.options));
>   	}
>   	earlycon_init(&early_console_dev, match->name);
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index 12c87cd201a7..3561a160cbd5 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -2497,7 +2497,7 @@ uart_report_port(struct uart_driver *drv, struct uart_port *port)
>   			 "MMIO 0x%llx", (unsigned long long)port->mapbase);
>   		break;
>   	default:
> -		strlcpy(address, "*unknown*", sizeof(address));
> +		strscpy(address, "*unknown*", sizeof(address));
>   		break;
>   	}
>   
> diff --git a/drivers/tty/serial/sunsu.c b/drivers/tty/serial/sunsu.c
> index 84d545e5a8c7..d5dcb612804e 100644
> --- a/drivers/tty/serial/sunsu.c
> +++ b/drivers/tty/serial/sunsu.c
> @@ -1217,13 +1217,13 @@ static int sunsu_kbd_ms_init(struct uart_sunsu_port *up)
>   	serio->id.type = SERIO_RS232;
>   	if (up->su_type == SU_PORT_KBD) {
>   		serio->id.proto = SERIO_SUNKBD;
> -		strlcpy(serio->name, "sukbd", sizeof(serio->name));
> +		strscpy(serio->name, "sukbd", sizeof(serio->name));
>   	} else {
>   		serio->id.proto = SERIO_SUN;
>   		serio->id.extra = 1;
> -		strlcpy(serio->name, "sums", sizeof(serio->name));
> +		strscpy(serio->name, "sums", sizeof(serio->name));
>   	}
> -	strlcpy(serio->phys,
> +	strscpy(serio->phys,
>   		(!(up->port.line & 1) ? "su/serio0" : "su/serio1"),
>   		sizeof(serio->phys));
>   
> diff --git a/drivers/tty/serial/sunzilog.c b/drivers/tty/serial/sunzilog.c
> index c14275d83b0b..c44cf613ff1a 100644
> --- a/drivers/tty/serial/sunzilog.c
> +++ b/drivers/tty/serial/sunzilog.c
> @@ -1307,13 +1307,13 @@ static void sunzilog_register_serio(struct uart_sunzilog_port *up)
>   	serio->id.type = SERIO_RS232;
>   	if (up->flags & SUNZILOG_FLAG_CONS_KEYB) {
>   		serio->id.proto = SERIO_SUNKBD;
> -		strlcpy(serio->name, "zskbd", sizeof(serio->name));
> +		strscpy(serio->name, "zskbd", sizeof(serio->name));
>   	} else {
>   		serio->id.proto = SERIO_SUN;
>   		serio->id.extra = 1;
> -		strlcpy(serio->name, "zsms", sizeof(serio->name));
> +		strscpy(serio->name, "zsms", sizeof(serio->name));
>   	}
> -	strlcpy(serio->phys,
> +	strscpy(serio->phys,
>   		((up->flags & SUNZILOG_FLAG_CONS_KEYB) ?
>   		 "zs/serio0" : "zs/serio1"),
>   		sizeof(serio->phys));

-- 
js
suse labs



More information about the Linuxppc-dev mailing list