projects/linux·commit a31d82d8

bpf_trace: Make dependent on PERF_EVENTS

a31d82d8 · Steven Rostedt <[email protected]> · 2015-11-10 15:28:17 -05:00

Arnd Bergmann reported:

  In my ARM randconfig tests, I'm getting a build error for
  newly added code in bpf_perf_event_read and bpf_perf_event_output
  whenever CONFIG_PERF_EVENTS is disabled:

  kernel/trace/bpf_trace.c: In function 'bpf_perf_event_read':
  kernel/trace/bpf_trace.c:203:11: error: 'struct perf_event' has no member named 'oncpu'
  if (event->oncpu != smp_processor_id() ||
           ^
  kernel/trace/bpf_trace.c:204:11: error: 'struct perf_event' has no member named 'pmu'
        event->pmu->count)

  This can happen when UPROBE_EVENT is enabled but KPROBE_EVENT
  is disabled. I'm not sure if that is a configuration we care
  about, otherwise we could prevent this case from occuring by
  adding Kconfig dependencies.

Looking at this further, it's really that UPROBE_EVENT enables PERF_EVENTS.
By just having BPF_EVENTS depend on PERF_EVENTS, then all is fine.

Link: http://lkml.kernel.org/r/4525348.Aq9YoXkChv@wuerfel
Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Commit
a31d82d85afdcbdb8c4128dfd6146992dc6b3576
Parents
4bdb96cb

Changes

1 files changed · +1 −1

FileStatusAddDelContent
kernel/trace/Kconfigmodified+1−1View file

kernel/trace/Kconfig

View file
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 1153c43..f5727b5 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -434,7 +434,7 @@ config UPROBE_EVENT
config BPF_EVENTS
depends on BPF_SYSCALL
- depends on KPROBE_EVENT || UPROBE_EVENT
+ depends on (KPROBE_EVENT || UPROBE_EVENT) && PERF_EVENTS
bool
default y
help