Message ID | 20190422080138.10088-1-tsu.yubo@gmail.com |
---|---|
State | Not Applicable |
Delegated to: | BPF Maintainers |
Headers | show |
Series | perf bpf: return value with unlocking in perf_env__find_btf() | expand |
On Mon, Apr 22, 2019 at 04:01:38AM -0400, Bo YU wrote: > In perf_env__find_btf(), returning without unlocking > "env->bpf_progs.lock". There may be cause lockdep issue. > > DEtected by CoversityScan, CID# 1444762:(program hangs(LOCK)) > > Fixes: 2db7b1e0bd49d: (perf bpf: Return NULL when RB tree lookup fails in perf_env__find_btf()) ugh, sry about that Acked-by: Jiri Olsa <jolsa@kernel.org> thanks, jirka > Signed-off-by: Bo YU <tsu.yubo@gmail.com> > --- > tools/perf/util/env.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c > index 9494f9dc61ec..6a3eaf7d9353 100644 > --- a/tools/perf/util/env.c > +++ b/tools/perf/util/env.c > @@ -115,8 +115,8 @@ struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id) > } > node = NULL; > > - up_read(&env->bpf_progs.lock); > out: > + up_read(&env->bpf_progs.lock); > return node; > } > > -- > 2.11.0 >
Em Mon, Apr 22, 2019 at 11:36:29AM +0200, Jiri Olsa escreveu: > On Mon, Apr 22, 2019 at 04:01:38AM -0400, Bo YU wrote: > > In perf_env__find_btf(), returning without unlocking > > "env->bpf_progs.lock". There may be cause lockdep issue. > > > > DEtected by CoversityScan, CID# 1444762:(program hangs(LOCK)) > > > > Fixes: 2db7b1e0bd49d: (perf bpf: Return NULL when RB tree lookup fails in perf_env__find_btf()) > > ugh, sry about that Brown paper bag on the part of everybody involved indeed :-\ > Acked-by: Jiri Olsa <jolsa@kernel.org> Applied. Thanks, - Arnaldo > thanks, > jirka > > > Signed-off-by: Bo YU <tsu.yubo@gmail.com> > > --- > > tools/perf/util/env.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c > > index 9494f9dc61ec..6a3eaf7d9353 100644 > > --- a/tools/perf/util/env.c > > +++ b/tools/perf/util/env.c > > @@ -115,8 +115,8 @@ struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id) > > } > > node = NULL; > > > > - up_read(&env->bpf_progs.lock); > > out: > > + up_read(&env->bpf_progs.lock); > > return node; > > } > > > > -- > > 2.11.0 > >
diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c index 9494f9dc61ec..6a3eaf7d9353 100644 --- a/tools/perf/util/env.c +++ b/tools/perf/util/env.c @@ -115,8 +115,8 @@ struct btf_node *perf_env__find_btf(struct perf_env *env, __u32 btf_id) } node = NULL; - up_read(&env->bpf_progs.lock); out: + up_read(&env->bpf_progs.lock); return node; }
In perf_env__find_btf(), returning without unlocking "env->bpf_progs.lock". There may be cause lockdep issue. DEtected by CoversityScan, CID# 1444762:(program hangs(LOCK)) Fixes: 2db7b1e0bd49d: (perf bpf: Return NULL when RB tree lookup fails in perf_env__find_btf()) Signed-off-by: Bo YU <tsu.yubo@gmail.com> --- tools/perf/util/env.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)