[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250206051557.27913-3-chen.dylane@gmail.com>
Date: Thu, 6 Feb 2025 13:15:55 +0800
From: Tao Chen <chen.dylane@...il.com>
To: ast@...nel.org,
daniel@...earbox.net,
andrii@...nel.org,
eddyz87@...il.com,
haoluo@...gle.com,
jolsa@...nel.org,
qmo@...nel.org
Cc: bpf@...r.kernel.org,
linux-kernel@...r.kernel.org,
chen.dylane@...il.com
Subject: [PATCH bpf-next v4 2/4] libbpf: Init fd_array when prog probe load
fd_array used to store module btf fd, which will
be used for kfunc probe in module btf.
Signed-off-by: Tao Chen <chen.dylane@...il.com>
---
tools/lib/bpf/libbpf_probes.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/lib/bpf/libbpf_probes.c b/tools/lib/bpf/libbpf_probes.c
index aeb4fd97d801..e142130cb83c 100644
--- a/tools/lib/bpf/libbpf_probes.c
+++ b/tools/lib/bpf/libbpf_probes.c
@@ -102,12 +102,15 @@ __u32 get_kernel_version(void)
static int probe_prog_load(enum bpf_prog_type prog_type,
const struct bpf_insn *insns, size_t insns_cnt,
+ int *fd_array, size_t fd_array_cnt,
char *log_buf, size_t log_buf_sz)
{
LIBBPF_OPTS(bpf_prog_load_opts, opts,
.log_buf = log_buf,
.log_size = log_buf_sz,
.log_level = log_buf ? 1 : 0,
+ .fd_array = fd_array,
+ .fd_array_cnt = fd_array_cnt,
);
int fd, err, exp_err = 0;
const char *exp_msg = NULL;
@@ -214,7 +217,7 @@ int libbpf_probe_bpf_prog_type(enum bpf_prog_type prog_type, const void *opts)
if (opts)
return libbpf_err(-EINVAL);
- ret = probe_prog_load(prog_type, insns, insn_cnt, NULL, 0);
+ ret = probe_prog_load(prog_type, insns, insn_cnt, NULL, 0, NULL, 0);
return libbpf_err(ret);
}
@@ -448,7 +451,7 @@ int libbpf_probe_bpf_helper(enum bpf_prog_type prog_type, enum bpf_func_id helpe
return -EOPNOTSUPP;
buf[0] = '\0';
- ret = probe_prog_load(prog_type, insns, insn_cnt, buf, sizeof(buf));
+ ret = probe_prog_load(prog_type, insns, insn_cnt, NULL, 0, buf, sizeof(buf));
if (ret < 0)
return libbpf_err(ret);
--
2.43.0
Powered by blists - more mailing lists