Re: [PATCH] bpf: hide do_bpf_send_signal when unused

From: Steven Rostedt
Date: Mon Jun 17 2019 - 19:14:23 EST


On Mon, 17 Jun 2019 08:26:29 -0700
Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote:

> On Mon, Jun 17, 2019 at 5:59 AM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >
> > When CONFIG_MODULES is disabled, this function is never called:
> >
> > kernel/trace/bpf_trace.c:581:13: error: 'do_bpf_send_signal' defined but not used [-Werror=unused-function]
>
> hmm. it should work just fine without modules.
> the bug is somewhere else.

>From what I see, the only use of do_bpf_send_signal is within a
#ifdef CONFIG_MODULES, which means that you will get a warning about a
static unused when CONFIG_MODULES is not defined.

In kernel/trace/bpf_trace.c we have:

static void do_bpf_send_signal(struct irq_work *entry)

[..]

#ifdef CONFIG_MODULES

[..]

for_each_possible_cpu(cpu) {
work = per_cpu_ptr(&send_signal_work, cpu);
init_irq_work(&work->irq_work, do_bpf_send_signal); <-- on use of do_bpf_send_signal
}
[..]
#endif /* CONFIG_MODULES */

The bug (really just a warning) reported is exactly here.

-- Steve