Skip to content

Commit 1de27bb

Browse files
anakryikoAlexei Starovoitov
authored andcommitted
libbpf: fix feature detectors when using token_fd
Adjust `union bpf_attr` size passed to kernel in two feature-detecting functions to take into account prog_token_fd field. Libbpf is avoiding memset()'ing entire `union bpf_attr` by only using minimal set of bpf_attr's fields. Two places have been missed when wiring BPF token support in libbpf's feature detection logic. Fix them trivially. Fixes: f3dcee9 ("libbpf: Wire up token_fd into feature probing logic") Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/r/20240513180804.403775-1-andrii@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
1 parent 621cde1 commit 1de27bb

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

tools/lib/bpf/bpf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ int sys_bpf_prog_load(union bpf_attr *attr, unsigned int size, int attempts)
105105
*/
106106
int probe_memcg_account(int token_fd)
107107
{
108-
const size_t attr_sz = offsetofend(union bpf_attr, attach_btf_obj_fd);
108+
const size_t attr_sz = offsetofend(union bpf_attr, prog_token_fd);
109109
struct bpf_insn insns[] = {
110110
BPF_EMIT_CALL(BPF_FUNC_ktime_get_coarse_ns),
111111
BPF_EXIT_INSN(),

tools/lib/bpf/features.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ int probe_fd(int fd)
2222

2323
static int probe_kern_prog_name(int token_fd)
2424
{
25-
const size_t attr_sz = offsetofend(union bpf_attr, prog_name);
25+
const size_t attr_sz = offsetofend(union bpf_attr, prog_token_fd);
2626
struct bpf_insn insns[] = {
2727
BPF_MOV64_IMM(BPF_REG_0, 0),
2828
BPF_EXIT_INSN(),

0 commit comments

Comments
 (0)