summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorKees Cook <kees@kernel.org>2026-05-12 22:08:07 -0700
committerAlexei Starovoitov <ast@kernel.org>2026-05-13 10:52:32 -0700
commit74a9bb761a434ea3be1e0c59cd67b37217eb042c (patch)
treea26b7f3c76c3e32a71150199c5e440626652d153 /tools
parentcd59fa185a031417d2699c68172676f4671153d8 (diff)
downloadlinux-stable-74a9bb761a434ea3be1e0c59cd67b37217eb042c.tar.gz
linux-stable-74a9bb761a434ea3be1e0c59cd67b37217eb042c.zip
libbpf: Use strscpy() in kernel code for skel_map_create()
Linux has deprecated[1] strncpy(), and the use in skel_map_create() is best replaced with strscpy(). Since we still need to build this file in userspace, leave the strncpy() in place in that case. This is the last use of strncpy() in the kernel. Link: https://github.com/KSPP/linux/issues/90 [1] Signed-off-by: Kees Cook <kees@kernel.org> Link: https://lore.kernel.org/r/20260513050806.do.620-kees@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/lib/bpf/skel_internal.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/lib/bpf/skel_internal.h b/tools/lib/bpf/skel_internal.h
index 6a8f5c7a02eb..74503d358bc8 100644
--- 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)
+ return -EINVAL;
+#else
strncpy(attr.map_name, map_name, sizeof(attr.map_name));
+#endif
attr.key_size = key_size;
attr.value_size = value_size;
attr.max_entries = max_entries;