uprobe: gate bpf call behind BPF_EVENTS
authorDelyan Kratunov <delyank@fb.com>
Mon, 20 Jun 2022 21:47:55 +0000 (21:47 +0000)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 21 Jun 2022 00:04:03 +0000 (17:04 -0700)
The call into bpf from uprobes needs to be gated now that it doesn't use
the trace_events.h helpers.

Randy found this as a randconfig build failure on linux-next [1].

  [1]: https://lore.kernel.org/linux-next/2de99180-7d55-2fdf-134d-33198c27cc58@infradead.org/

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Delyan Kratunov <delyank@fb.com>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/r/cb8bfbbcde87ed5d811227a393ef4925f2aadb7b.camel@fb.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/trace/trace_uprobe.c

index 0282c11..326235f 100644 (file)
@@ -1344,6 +1344,7 @@ static void __uprobe_perf_func(struct trace_uprobe *tu,
        int size, esize;
        int rctx;
 
+#ifdef CONFIG_BPF_EVENTS
        if (bpf_prog_array_valid(call)) {
                u32 ret;
 
@@ -1351,6 +1352,7 @@ static void __uprobe_perf_func(struct trace_uprobe *tu,
                if (!ret)
                        return;
        }
+#endif /* CONFIG_BPF_EVENTS */
 
        esize = SIZEOF_TRACE_ENTRY(is_ret_probe(tu));