On Tue, Jul 22, 2025 at 11:35 PM KaFai Wan <kafai....@linux.dev> wrote:
>
> Show the rejected function name when attaching tracing programs to
> functions in deny list.
>
> With this change, we know why tracing programs can't attach to functions
> like migrate_disable() from log.
>
> $ ./fentry
> libbpf: prog 'migrate_disable': BPF program load failed: -EINVAL
> libbpf: prog 'migrate_disable': -- BEGIN PROG LOAD LOG --
> Attaching tracing programs to function 'migrate_disable' is rejected.
>
> Suggested-by: Leon Hwang <leon.hw...@linux.dev>
> Signed-off-by: KaFai Wan <kafai....@linux.dev>

Acked-by: Yafang Shao <laoar.s...@gmail.com>

> ---
>  kernel/bpf/verifier.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> index 00d287814f12..c24c0d57e595 100644
> --- a/kernel/bpf/verifier.c
> +++ b/kernel/bpf/verifier.c
> @@ -23942,6 +23942,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 programs to function '%s' is 
> rejected.\n",
> +                       tgt_info.tgt_name);
>                 return -EINVAL;
>         } else if ((prog->expected_attach_type == BPF_TRACE_FEXIT ||
>                    prog->expected_attach_type == BPF_MODIFY_RETURN) &&
> --
> 2.43.0
>


-- 
Regards
Yafang

Reply via email to