Re: [PATCH] perf tools: Fix perf_env__find_bpf_prog_info rb tree lookup

From: Arnaldo Carvalho de Melo
Date: Tue Apr 16 2019 - 10:36:02 EST


Em Tue, Apr 16, 2019 at 04:34:52PM +0200, Jiri Olsa escreveu:
> On Tue, Apr 16, 2019 at 11:20:28AM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Apr 16, 2019 at 03:41:51PM +0200, Jiri Olsa escreveu:
> > > We currently don't return NULL in case we don't find
> > > the bpf_prog_info_node, fixing that.
> >
> > Can you please try to figure out what was the changeset that introduced
> > this problem so that we can have a Fixes: tag that helps me determine if
> > this should go to perf/urgent (likely) or (perf/core) and to help the
> > stable guys as well?
>
> sry, I keep forgetting this..
>
> Fixes: e4378f0cb90b ("perf bpf: Save bpf_prog_info in a rbtree in perf_env")

I had just added:

Fixes: e4378f0cb90b ("perf bpf: Save bpf_prog_info in a rbtree in perf_env")

matches, good :-)

At firts I thought hey the look checks for NULL, then, hey, different
variable... good catch!

Thanks,

> thanks,
> jirka
>
> >
> > Thanks,
> >
> > - Arnaldo
> >
> > > Cc: Song Liu <songliubraving@xxxxxx>
> > > Link: http://lkml.kernel.org/n/tip-bp07cla6dy6ifydl1sfoiorw@xxxxxxxxxxxxxx
> > > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> > > ---
> > > 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 c6351b557bb0..34a363f2e71b 100644
> > > --- a/tools/perf/util/env.c
> > > +++ b/tools/perf/util/env.c
> > > @@ -57,9 +57,11 @@ struct bpf_prog_info_node *perf_env__find_bpf_prog_info(struct perf_env *env,
> > > else if (prog_id > node->info_linear->info.id)
> > > n = n->rb_right;
> > > else
> > > - break;
> > > + goto out;
> > > }
> > > + node = NULL;
> > >
> > > +out:
> > > up_read(&env->bpf_progs.lock);
> > > return node;
> > > }
> > > --
> > > 2.17.2
> >
> > --
> >
> > - Arnaldo

--

- Arnaldo