All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf bpf: return value with unlocking in perf_env__find_btf()
@ 2019-04-22  8:01 Bo YU
  2019-04-22  9:36 ` Jiri Olsa
  2019-05-03  5:52 ` [tip:perf/urgent] perf bpf: Return " tip-bot for Bo YU
  0 siblings, 2 replies; 4+ messages in thread
From: Bo YU @ 2019-04-22  8:01 UTC (permalink / raw)
  To: peterz, acme, alexander.shishkin, jolsa, namhyung, ast, daniel,
	kafai, songliubraving, yhs, adrian.hunter
  Cc: Bo YU, linux-kernel, netdev, bpf

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(-)

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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] perf bpf: return value with unlocking in perf_env__find_btf()
  2019-04-22  8:01 [PATCH] perf bpf: return value with unlocking in perf_env__find_btf() Bo YU
@ 2019-04-22  9:36 ` Jiri Olsa
  2019-04-22 14:29   ` Arnaldo Carvalho de Melo
  2019-05-03  5:52 ` [tip:perf/urgent] perf bpf: Return " tip-bot for Bo YU
  1 sibling, 1 reply; 4+ messages in thread
From: Jiri Olsa @ 2019-04-22  9:36 UTC (permalink / raw)
  To: Bo YU
  Cc: peterz, acme, alexander.shishkin, namhyung, ast, daniel, kafai,
	songliubraving, yhs, adrian.hunter, linux-kernel, netdev, bpf

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
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] perf bpf: return value with unlocking in perf_env__find_btf()
  2019-04-22  9:36 ` Jiri Olsa
@ 2019-04-22 14:29   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2019-04-22 14:29 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Bo YU, peterz, alexander.shishkin, namhyung, ast, daniel, kafai,
	songliubraving, yhs, adrian.hunter, linux-kernel, netdev, bpf

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
> > 

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:perf/urgent] perf bpf: Return value with unlocking in perf_env__find_btf()
  2019-04-22  8:01 [PATCH] perf bpf: return value with unlocking in perf_env__find_btf() Bo YU
  2019-04-22  9:36 ` Jiri Olsa
@ 2019-05-03  5:52 ` tip-bot for Bo YU
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for Bo YU @ 2019-05-03  5:52 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: kafai, tglx, acme, tsu.yubo, daniel, yhs, peterz, linux-kernel,
	songliubraving, adrian.hunter, namhyung, jolsa, mingo, ast, hpa,
	alexander.shishkin

Commit-ID:  2e712675ffd1331bb527dfc851b0e98cd684c2f1
Gitweb:     https://git.kernel.org/tip/2e712675ffd1331bb527dfc851b0e98cd684c2f1
Author:     Bo YU <tsu.yubo@gmail.com>
AuthorDate: Mon, 22 Apr 2019 04:01:38 -0400
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 2 May 2019 16:00:19 -0400

perf bpf: Return value with unlocking in perf_env__find_btf()

In perf_env__find_btf(), we're returning without unlocking
"env->bpf_progs.lock". There may be cause lockdep issue.

Detected by CoversityScan, CID# 1444762:(program hangs(LOCK))

Signed-off-by: Bo YU <tsu.yubo@gmail.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Martin KaFai Lau <kafai@fb.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Cc: bpf@vger.kernel.org
Cc: netdev@vger.kernel.org
Fixes: 2db7b1e0bd49d: (perf bpf: Return NULL when RB tree lookup fails in perf_env__find_btf())
Link: http://lkml.kernel.org/r/20190422080138.10088-1-tsu.yubo@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.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;
 }
 

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-05-03  5:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-22  8:01 [PATCH] perf bpf: return value with unlocking in perf_env__find_btf() Bo YU
2019-04-22  9:36 ` Jiri Olsa
2019-04-22 14:29   ` Arnaldo Carvalho de Melo
2019-05-03  5:52 ` [tip:perf/urgent] perf bpf: Return " tip-bot for Bo YU

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.