public inbox for bpf@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] bpf: Replace strlcpy with strscpy in preload module
@ 2022-10-09 13:03 Rui Li
  2022-10-10  9:10 ` David Laight
  0 siblings, 1 reply; 2+ messages in thread
From: Rui Li @ 2022-10-09 13:03 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, bpf,
	linux-kernel

Use strscpy instead of strlcpy as the former one checks the size
of source. Especially for this case, source strings are less than
dst size.

Signed-off-by: Rui Li <me@lirui.org>
---
 kernel/bpf/preload/bpf_preload_kern.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/bpf/preload/bpf_preload_kern.c b/kernel/bpf/preload/bpf_preload_kern.c
index 5106b5372f0c..af8dd3a7c928 100644
--- a/kernel/bpf/preload/bpf_preload_kern.c
+++ b/kernel/bpf/preload/bpf_preload_kern.c
@@ -19,9 +19,9 @@ static void free_links_and_skel(void)
 
 static int preload(struct bpf_preload_info *obj)
 {
-	strlcpy(obj[0].link_name, "maps.debug", sizeof(obj[0].link_name));
+	strscpy(obj[0].link_name, "maps.debug", sizeof(obj[0].link_name));
 	obj[0].link = maps_link;
-	strlcpy(obj[1].link_name, "progs.debug", sizeof(obj[1].link_name));
+	strscpy(obj[1].link_name, "progs.debug", sizeof(obj[1].link_name));
 	obj[1].link = progs_link;
 	return 0;
 }
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* RE: [PATCH] bpf: Replace strlcpy with strscpy in preload module
  2022-10-09 13:03 [PATCH] bpf: Replace strlcpy with strscpy in preload module Rui Li
@ 2022-10-10  9:10 ` David Laight
  0 siblings, 0 replies; 2+ messages in thread
From: David Laight @ 2022-10-10  9:10 UTC (permalink / raw)
  To: 'Rui Li', Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song,
	John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa,
	bpf@vger.kernel.org, linux-kernel@vger.kernel.org

From: Rui Li
> Sent: 09 October 2022 14:03
> 
> Use strscpy instead of strlcpy as the former one checks the size
> of source. Especially for this case, source strings are less than
> dst size.

Not relevant.
The only problem with strlcpy() is the return value when the
the copy has to be truncated.
As well as wasting computrons it can fault if the source string
isn't actually terminated (which might be true for arbitrary pointers).
In this case the source strings are well formed and short.

While strscpy() might be a preferred function the reason above
is bogus.

	David

> 
> Signed-off-by: Rui Li <me@lirui.org>
> ---
>  kernel/bpf/preload/bpf_preload_kern.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/bpf/preload/bpf_preload_kern.c b/kernel/bpf/preload/bpf_preload_kern.c
> index 5106b5372f0c..af8dd3a7c928 100644
> --- a/kernel/bpf/preload/bpf_preload_kern.c
> +++ b/kernel/bpf/preload/bpf_preload_kern.c
> @@ -19,9 +19,9 @@ static void free_links_and_skel(void)
> 
>  static int preload(struct bpf_preload_info *obj)
>  {
> -	strlcpy(obj[0].link_name, "maps.debug", sizeof(obj[0].link_name));
> +	strscpy(obj[0].link_name, "maps.debug", sizeof(obj[0].link_name));
>  	obj[0].link = maps_link;
> -	strlcpy(obj[1].link_name, "progs.debug", sizeof(obj[1].link_name));
> +	strscpy(obj[1].link_name, "progs.debug", sizeof(obj[1].link_name));
>  	obj[1].link = progs_link;
>  	return 0;
>  }
> --
> 2.30.2
> 

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-10-10  9:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-09 13:03 [PATCH] bpf: Replace strlcpy with strscpy in preload module Rui Li
2022-10-10  9:10 ` David Laight

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox