Re: [PATCH] perf bpf: Return NULL when RB tree lookup fails in perf_env__find_btf()

From: Song Liu
Date: Wed Apr 17 2019 - 12:49:34 EST




> On Apr 17, 2019, at 7:55 AM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> We currently don't return NULL in case we don't find the
> bpf_prog_info_node, fixing that.
>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Song Liu <songliubraving@xxxxxx>
> Fixes: 3792cb2ff43b ("perf bpf: Save BTF in a rbtree in perf_env")
> Link: http://lkml.kernel.org/n/tip-99g9rg4p20a1o99vr0nkjhq8@xxxxxxxxxxxxxx
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

Acked-by: Song Liu <songliubraving@xxxxxx>

Thanks again for the fix!

> ---
> tools/perf/util/env.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c
> index 34a363f2e71b..9494f9dc61ec 100644
> --- a/tools/perf/util/env.c
> +++ b/tools/perf/util/env.c
> @@ -111,10 +111,12 @@ struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id)
> else if (btf_id > node->id)
> n = n->rb_right;
> else
> - break;
> + goto out;
> }
> + node = NULL;
>
> up_read(&env->bpf_progs.lock);
> +out:
> return node;
> }
>
> --
> 2.17.2
>