On Fri, Jul 11, 2025 at 1:19 AM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > On Thu, Jul 10, 2025 at 9:27 AM KaFai Wan <mannkafai@xxxxxxxxx> wrote: > > > > Show the precise rejected function name when attaching tracing to > > __btf_id functions. > > > > $ ./fentry > > libbpf: prog 'migrate_disable': BPF program load failed: -EINVAL > > libbpf: prog 'migrate_disable': -- BEGIN PROG LOAD LOG -- > > Attaching tracing to __btf_id function 'migrate_disable' is rejected. > > > > Signed-off-by: KaFai Wan <mannkafai@xxxxxxxxx> > > --- > > kernel/bpf/verifier.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > > index 275d82fb1a1a..2779d63e1f8b 100644 > > --- a/kernel/bpf/verifier.c > > +++ b/kernel/bpf/verifier.c > > @@ -23938,6 +23938,8 @@ static int check_attach_btf_id(struct bpf_verifier_env *env) > > return ret; > > } else if (prog->type == BPF_PROG_TYPE_TRACING && > > btf_id_set_contains(&btf_id_deny, btf_id)) { > > + verbose(env, "Attaching tracing to __btf_id function '%s' is rejected.\n", > > + tgt_info.tgt_name); > > "Attaching tracing to __btf_id" ?! What does it mean? The term "tracing" refers to BPF_PROG_TYPE_TRACING. I believe it is useful because it helps identify which functions cannot be attached by a given BPF program type. Perhaps we should replace "tracing" with "a tracing prog" for clarity? > Drop "__btf_id" and "tracing" bits. -- Regards Yafang