Re: [PATCH] perf tools: Replace strlcpy with strscpy

From: Arnaldo Carvalho de Melo

Date: Tue Jan 13 2026 - 15:06:54 EST


On Tue, Dec 09, 2025 at 12:59:15PM +0000, ny wrote:
> Replace the deprecated strlcpy function with the preferred strscpy
> function in tools/perf/util/machine.c.
>
> strlcpy is deprecated and should be replaced with strscpy according
> to kernel best practices. The strscpy function is safer and is the
> recommended replacement.

Take a look at this:

acme@number:~/git/perf-tools-next$ git grep strscpy tools/
tools/include/linux/string.h:#define strscpy strcpy
tools/testing/selftests/net/ovpn/ovpn-cli.c:#define strscpy strncpy
tools/testing/selftests/net/ovpn/ovpn-cli.c: strscpy(ovpn->ifname, argv[2], IFNAMSIZ - 1);
tools/testing/selftests/user_events/abi_test.c: /* strscpy is not available, use snprintf */
acme@number:~/git/perf-tools-next$

:-)

srcscpy() thus seems to be only available in the kernel sources, not for
tools/, that would be another project.

- Arnaldo

> Signed-off-by: ny <nygameemail@xxxxxxx>
> ---
> tools/perf/util/machine.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> index 841b711d9..8786764e2 100644
> --- a/tools/perf/util/machine.c
> +++ b/tools/perf/util/machine.c
> @@ -1052,7 +1052,7 @@ int machine__create_extra_kernel_map(struct machine *machine,
>
> kmap = map__kmap(map);
>
> - strlcpy(kmap->name, xm->name, KMAP_NAME_LEN);
> + strscpy(kmap->name, xm->name, KMAP_NAME_LEN);
>
> err = maps__insert(machine__kernel_maps(machine), map);
>
> --
> 2.43.0