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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
1 parent 621cde1 commit 1de27bb

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

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)