• Yonghong Song's avatar
    bpf/tracing: fix kernel/events/core.c compilation error · f4e2298e
    Yonghong Song authored
    Commit f371b304 ("bpf/tracing: allow user space to
    query prog array on the same tp") introduced a perf
    ioctl command to query prog array attached to the
    same perf tracepoint. The commit introduced a
    compilation error under certain config conditions, e.g.,
      (1). CONFIG_BPF_SYSCALL is not defined, or
      (2). CONFIG_TRACING is defined but neither CONFIG_UPROBE_EVENTS
           nor CONFIG_KPROBE_EVENTS is defined.
    
    Error message:
      kernel/events/core.o: In function `perf_ioctl':
      core.c:(.text+0x98c4): undefined reference to `bpf_event_query_prog_array'
    
    This patch fixed this error by guarding the real definition under
    CONFIG_BPF_EVENTS and provided static inline dummy function
    if CONFIG_BPF_EVENTS was not defined.
    It renamed the function from bpf_event_query_prog_array to
    perf_event_query_prog_array and moved the definition from linux/bpf.h
    to linux/trace_events.h so the definition is in proximity to
    other prog_array related functions.
    
    Fixes: f371b304 ("bpf/tracing: allow user space to query prog array on the same tp")
    Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: default avatarYonghong Song <yhs@fb.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    f4e2298e
core.c 265 KB