All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Kees Cook" <kees@kernel.org>
Cc: bpf@vger.kernel.org
Subject: Re: [PATCH v5] libbpf: Use strscpy() in kernel code for skel_map_create()
Date: Thu, 14 May 2026 01:56:09 +0000	[thread overview]
Message-ID: <20260514015610.1D339C19425@smtp.kernel.org> (raw)
In-Reply-To: <20260513050806.do.620-kees@kernel.org>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The use of the 2-argument `strscpy` macro in `skel_internal.h` breaks compilation of light skeletons for out-of-tree kernel modules on kernels older than 6.8.
--

commit 056f88b29a55562ae428a73e0cbb771aa82987a6
Author: Kees Cook <kees@kernel.org>

libbpf: Use strscpy() in kernel code for skel_map_create()

This commit replaces a deprecated strncpy() call with strscpy() in
skel_map_create() when building for the kernel, leaving the user-space
version unchanged.

Link: https://github.com/KSPP/linux/issues/90 [1]

> diff --git a/tools/lib/bpf/skel_internal.h b/tools/lib/bpf/skel_internal.h
> --- a/tools/lib/bpf/skel_internal.h
> +++ b/tools/lib/bpf/skel_internal.h
[ ... ]
> @@ -243,7 +243,12 @@ static inline int skel_map_create(enum bpf_map_type map_type,
>  	attr.excl_prog_hash = (unsigned long) excl_prog_hash;
>  	attr.excl_prog_hash_size = excl_prog_hash_sz;
>  
> +#ifdef __KERNEL__
> +	if (strscpy(attr.map_name, map_name) < 0)

Does this break backwards compatibility for out-of-tree kernel modules using
generated light skeletons on kernels older than 6.8?

The 2-argument strscpy macro was introduced in Linux 6.8. Older kernels like
6.1 LTS and 6.6 LTS only provide the 3-argument version:
ssize_t strscpy(char *dest, const char *src, size_t count).

Compiling this generated skeleton code on older kernels will result in a
compiler error due to too few arguments.

Would it be better to use the 3-argument version here instead?
strscpy(attr.map_name, map_name, sizeof(attr.map_name))

> +		return -EINVAL;
> +#else
>  	strncpy(attr.map_name, map_name, sizeof(attr.map_name));
> +#endif

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260513050806.do.620-kees@kernel.org?part=1

  parent reply	other threads:[~2026-05-14  1:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-13  5:08 [PATCH v5] libbpf: Use strscpy() in kernel code for skel_map_create() Kees Cook
2026-05-13 18:03 ` patchwork-bot+netdevbpf
2026-05-14  1:56 ` sashiko-bot [this message]
2026-05-14  3:20   ` Kees Cook

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=20260514015610.1D339C19425@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=kees@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.