path: root/init
diff options
authorIngo Molnar <>2015-04-02 15:51:39 +0200
committerIngo Molnar <>2015-04-02 16:28:06 +0200
commite1abf2cc8d5d80b41c4419368ec743ccadbb131e (patch)
treec1b730e058db699ef1a523f288d045c7ec4aa3dd /init
parent9811e35359d4b18baf5bb603b225e957255b9c46 (diff)
bpf: Fix the build on BPF_SYSCALL=y && !CONFIG_TRACING kernels, make it more configurable
So bpf_tracing.o depends on CONFIG_BPF_SYSCALL - but that's not its only dependency, it also depends on the tracing infrastructure and on kprobes, without which it will fail to build with: In file included from kernel/trace/bpf_trace.c:14:0: kernel/trace/trace.h: In function ‘trace_test_and_set_recursion’: kernel/trace/trace.h:491:28: error: ‘struct task_struct’ has no member named ‘trace_recursion’ unsigned int val = current->trace_recursion; [...] It took quite some time to trigger this build failure, because right now BPF_SYSCALL is very obscure, depends on CONFIG_EXPERT. So also make BPF_SYSCALL more configurable, not just under CONFIG_EXPERT. If BPF_SYSCALL, tracing and kprobes are enabled then enable the bpf_tracing gateway as well. We might want to make this an interactive option later on, although I'd not complicate it unnecessarily: enabling BPF_SYSCALL is enough of an indicator that the user wants BPF support. Cc: Alexei Starovoitov <> Cc: Andrew Morton <> Cc: Arnaldo Carvalho de Melo <> Cc: Arnaldo Carvalho de Melo <> Cc: Daniel Borkmann <> Cc: David S. Miller <> Cc: Jiri Olsa <> Cc: Linus Torvalds <> Cc: Masami Hiramatsu <> Cc: Namhyung Kim <> Cc: Peter Zijlstra <> Cc: Peter Zijlstra <> Cc: Steven Rostedt <> Cc: Signed-off-by: Ingo Molnar <>
Diffstat (limited to 'init')
1 files changed, 1 insertions, 1 deletions
diff --git a/init/Kconfig b/init/Kconfig
index f5dbc6d4261b..2b4d055aca4a 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1513,7 +1513,7 @@ config EVENTFD
# syscall, maps, verifier
- bool "Enable bpf() system call" if EXPERT
+ bool "Enable bpf() system call"
select BPF
default n