From: David Laight <David.Laight@ACULAB.COM>
To: 'Rui Li' <me@lirui.org>, Alexei Starovoitov <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
"Martin KaFai Lau" <martin.lau@linux.dev>,
Song Liu <song@kernel.org>, Yonghong Song <yhs@fb.com>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>,
Jiri Olsa <jolsa@kernel.org>,
"bpf@vger.kernel.org" <bpf@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH] bpf: Replace strlcpy with strscpy in preload module
Date: Mon, 10 Oct 2022 09:10:26 +0000 [thread overview]
Message-ID: <7d98ed76798d4c52afcd462d694ebb6b@AcuMS.aculab.com> (raw)
In-Reply-To: <166532064978.9.18239510123131509626.67790627@lirui.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)
prev parent reply other threads:[~2022-10-10 9:10 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-09 13:03 [PATCH] bpf: Replace strlcpy with strscpy in preload module Rui Li
2022-10-10 9:10 ` David Laight [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7d98ed76798d4c52afcd462d694ebb6b@AcuMS.aculab.com \
--to=david.laight@aculab.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=haoluo@google.com \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kpsingh@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.lau@linux.dev \
--cc=me@lirui.org \
--cc=sdf@google.com \
--cc=song@kernel.org \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox