bpf: Fix bpf_session_cookie BTF_ID in special_kfunc_set list
The bpf_session_cookie is unavailable for !CONFIG_FPROBE as reported
by Sebastian [1].
To fix that we remove CONFIG_FPROBE ifdef for session kfuncs, which
is fine, because there's filter for session programs.
Then based on bpf_trace.o dependency:
obj-$(CONFIG_BPF_EVENTS) += bpf_trace.o
we add bpf_session_cookie BTF_ID in special_kfunc_set list dependency
on CONFIG_BPF_EVENTS.
[1] https://lore.kernel.org/bpf/20240531071557.MvfIqkn7@linutronix.de/T/#m71c6d5ec71db2967288cb79acedc15cc5dbfeec5
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Tested-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Suggested-by: Alexei Starovoitov <ast@kernel.org>
Fixes: 5c919acef8
("bpf: Add support for kprobe session cookie")
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/r/20240531194500.2967187-1-jolsa@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
62da3acd28
commit
aeb8fe0283
|
@ -11128,7 +11128,11 @@ BTF_ID(func, bpf_iter_css_task_new)
|
|||
#else
|
||||
BTF_ID_UNUSED
|
||||
#endif
|
||||
#ifdef CONFIG_BPF_EVENTS
|
||||
BTF_ID(func, bpf_session_cookie)
|
||||
#else
|
||||
BTF_ID_UNUSED
|
||||
#endif
|
||||
|
||||
static bool is_kfunc_ret_null(struct bpf_kfunc_call_arg_meta *meta)
|
||||
{
|
||||
|
|
|
@ -3517,7 +3517,6 @@ static u64 bpf_uprobe_multi_entry_ip(struct bpf_run_ctx *ctx)
|
|||
}
|
||||
#endif /* CONFIG_UPROBES */
|
||||
|
||||
#ifdef CONFIG_FPROBE
|
||||
__bpf_kfunc_start_defs();
|
||||
|
||||
__bpf_kfunc bool bpf_session_is_return(void)
|
||||
|
@ -3566,4 +3565,3 @@ static int __init bpf_kprobe_multi_kfuncs_init(void)
|
|||
}
|
||||
|
||||
late_initcall(bpf_kprobe_multi_kfuncs_init);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue