mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-03-02 20:21:43 +01:00
60 lines
2.0 KiB
Diff
60 lines
2.0 KiB
Diff
From 00f61be94dfdc94e2cb60e0620af9c529531680d Mon Sep 17 00:00:00 2001
|
|
From: Achill Gilgenast <fossdd@pwned.life>
|
|
Date: Sat, 26 Jul 2025 20:27:24 +0200
|
|
Subject: [PATCH] FROMLIST: libbpf: avoid possible use of uninitialized mod_len
|
|
|
|
If not fn_name, mod_len does never get initialized which fails now with
|
|
gcc15 on Alpine Linux edge:
|
|
|
|
libbpf.c: In function 'find_kernel_btf_id.constprop':
|
|
libbpf.c:10100:33: error: 'mod_len' may be used uninitialized [-Werror=maybe-uninitialized]
|
|
10100 | if (mod_name && strncmp(mod->name, mod_name, mod_len) != 0)
|
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
libbpf.c:10070:21: note: 'mod_len' was declared here
|
|
10070 | int ret, i, mod_len;
|
|
| ^~~~~~~
|
|
|
|
Link: https://lore.kernel.org/lkml/20250729094611.2065713-1-fossdd@pwned.life/
|
|
Fixes: 8f8a024272f3 ("libbpf: support "module: Function" syntax for tracing programs")
|
|
Signed-off-by: Achill Gilgenast <fossdd@pwned.life>
|
|
---
|
|
tools/lib/bpf/libbpf.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
|
|
index c8e29c52d28c..cdef24c31d11 100644
|
|
--- a/tools/lib/bpf/libbpf.c
|
|
+++ b/tools/lib/bpf/libbpf.c
|
|
@@ -10057,27 +10057,27 @@ static int libbpf_find_prog_btf_id(const char *name, __u32 attach_prog_fd, int t
|
|
btf__free(btf);
|
|
if (err <= 0) {
|
|
pr_warn("%s is not found in prog's BTF\n", name);
|
|
goto out;
|
|
}
|
|
out:
|
|
return err;
|
|
}
|
|
|
|
static int find_kernel_btf_id(struct bpf_object *obj, const char *attach_name,
|
|
enum bpf_attach_type attach_type,
|
|
int *btf_obj_fd, int *btf_type_id)
|
|
{
|
|
- int ret, i, mod_len;
|
|
+ int ret, i, mod_len = 0;
|
|
const char *fn_name, *mod_name = NULL;
|
|
|
|
fn_name = strchr(attach_name, ':');
|
|
if (fn_name) {
|
|
mod_name = attach_name;
|
|
mod_len = fn_name - mod_name;
|
|
fn_name++;
|
|
}
|
|
|
|
if (!mod_name || strncmp(mod_name, "vmlinux", mod_len) == 0) {
|
|
ret = find_attach_btf_id(obj->btf_vmlinux,
|
|
mod_name ? fn_name : attach_name,
|
|
attach_type);
|
|
--
|
|
2.50.1
|
|
|