linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails
@ 2012-01-20  1:12 Namhyung Kim
  2012-01-20  1:12 ` [PATCH 2/2] perf: Call perf_cgroup_event_time directly Namhyung Kim
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Namhyung Kim @ 2012-01-20  1:12 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Namhyung Kim, Peter Zijlstra, Paul Mackerras,
	Arnaldo Carvalho de Melo, linux-kernel

When alloc_callchain_buffers() fails, it frees all of
entries before return. In addition, calling the
release_callchain_buffers() will cause a NULL pointer
dereference since callchain_cpu_entries is not set.

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
---
 kernel/events/callchain.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/kernel/events/callchain.c b/kernel/events/callchain.c
index 057e24b665cf..6581a040f399 100644
--- a/kernel/events/callchain.c
+++ b/kernel/events/callchain.c
@@ -115,8 +115,6 @@ int get_callchain_buffers(void)
 	}
 
 	err = alloc_callchain_buffers();
-	if (err)
-		release_callchain_buffers();
 exit:
 	mutex_unlock(&callchain_mutex);
 
-- 
1.7.9.rc1.dirty


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

* [PATCH 2/2] perf: Call perf_cgroup_event_time directly
  2012-01-20  1:12 [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails Namhyung Kim
@ 2012-01-20  1:12 ` Namhyung Kim
  2012-01-22 21:08   ` [tip:perf/urgent] perf: Call perf_cgroup_event_time() directly tip-bot for Namhyung Kim
  2012-01-20  3:59 ` [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails Frederic Weisbecker
  2012-01-22 21:07 ` [tip:perf/urgent] perf: Don't call release_callchain_buffers() if allocation fails tip-bot for Namhyung Kim
  2 siblings, 1 reply; 5+ messages in thread
From: Namhyung Kim @ 2012-01-20  1:12 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Namhyung Kim, Peter Zijlstra, Paul Mackerras,
	Arnaldo Carvalho de Melo, linux-kernel

The perf_event_time() will call perf_cgroup_event_time()
if @event is a cgroup event. Just do it directly.

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
---
 kernel/events/core.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index a8f4ac001a00..32b48c889711 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -815,7 +815,7 @@ static void update_event_times(struct perf_event *event)
 	 * here.
 	 */
 	if (is_cgroup_event(event))
-		run_end = perf_event_time(event);
+		run_end = perf_cgroup_event_time(event);
 	else if (ctx->is_active)
 		run_end = ctx->time;
 	else
-- 
1.7.9.rc1.dirty


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

* Re: [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails
  2012-01-20  1:12 [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails Namhyung Kim
  2012-01-20  1:12 ` [PATCH 2/2] perf: Call perf_cgroup_event_time directly Namhyung Kim
@ 2012-01-20  3:59 ` Frederic Weisbecker
  2012-01-22 21:07 ` [tip:perf/urgent] perf: Don't call release_callchain_buffers() if allocation fails tip-bot for Namhyung Kim
  2 siblings, 0 replies; 5+ messages in thread
From: Frederic Weisbecker @ 2012-01-20  3:59 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Ingo Molnar, Namhyung Kim, Peter Zijlstra, Paul Mackerras,
	Arnaldo Carvalho de Melo, linux-kernel

On Fri, Jan 20, 2012 at 10:12:45AM +0900, Namhyung Kim wrote:
> When alloc_callchain_buffers() fails, it frees all of
> entries before return. In addition, calling the
> release_callchain_buffers() will cause a NULL pointer
> dereference since callchain_cpu_entries is not set.
> 
> Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>

Acked-by: Frederic Weisbecker <fweisbec@gmail.com>

> ---
>  kernel/events/callchain.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/events/callchain.c b/kernel/events/callchain.c
> index 057e24b665cf..6581a040f399 100644
> --- a/kernel/events/callchain.c
> +++ b/kernel/events/callchain.c
> @@ -115,8 +115,6 @@ int get_callchain_buffers(void)
>  	}
>  
>  	err = alloc_callchain_buffers();
> -	if (err)
> -		release_callchain_buffers();
>  exit:
>  	mutex_unlock(&callchain_mutex);
>  
> -- 
> 1.7.9.rc1.dirty
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

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

* [tip:perf/urgent] perf: Don't call release_callchain_buffers() if allocation fails
  2012-01-20  1:12 [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails Namhyung Kim
  2012-01-20  1:12 ` [PATCH 2/2] perf: Call perf_cgroup_event_time directly Namhyung Kim
  2012-01-20  3:59 ` [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails Frederic Weisbecker
@ 2012-01-22 21:07 ` tip-bot for Namhyung Kim
  2 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Namhyung Kim @ 2012-01-22 21:07 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, paulus, hpa, mingo, a.p.zijlstra, acme,
	namhyung.kim, namhyung, fweisbec, tglx, mingo

Commit-ID:  fd45c15f13e754f3c106427e857310f3e0813951
Gitweb:     http://git.kernel.org/tip/fd45c15f13e754f3c106427e857310f3e0813951
Author:     Namhyung Kim <namhyung.kim@lge.com>
AuthorDate: Fri, 20 Jan 2012 10:12:45 +0900
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Sat, 21 Jan 2012 09:33:41 +0100

perf: Don't call release_callchain_buffers() if allocation fails

When alloc_callchain_buffers() fails, it frees all of
entries before return. In addition, calling the
release_callchain_buffers() will cause a NULL pointer
dereference since callchain_cpu_entries is not set.

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Link: http://lkml.kernel.org/r/1327021966-27688-1-git-send-email-namhyung.kim@lge.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 kernel/events/callchain.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/kernel/events/callchain.c b/kernel/events/callchain.c
index 057e24b..6581a04 100644
--- a/kernel/events/callchain.c
+++ b/kernel/events/callchain.c
@@ -115,8 +115,6 @@ int get_callchain_buffers(void)
 	}
 
 	err = alloc_callchain_buffers();
-	if (err)
-		release_callchain_buffers();
 exit:
 	mutex_unlock(&callchain_mutex);
 

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

* [tip:perf/urgent] perf: Call perf_cgroup_event_time() directly
  2012-01-20  1:12 ` [PATCH 2/2] perf: Call perf_cgroup_event_time directly Namhyung Kim
@ 2012-01-22 21:08   ` tip-bot for Namhyung Kim
  0 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Namhyung Kim @ 2012-01-22 21:08 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, paulus, hpa, mingo, a.p.zijlstra, acme,
	namhyung.kim, namhyung, tglx, mingo

Commit-ID:  46cd6a7f680d14f6f80ede9f04aeb70fa83bd266
Gitweb:     http://git.kernel.org/tip/46cd6a7f680d14f6f80ede9f04aeb70fa83bd266
Author:     Namhyung Kim <namhyung.kim@lge.com>
AuthorDate: Fri, 20 Jan 2012 10:12:46 +0900
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Sat, 21 Jan 2012 09:33:42 +0100

perf: Call perf_cgroup_event_time() directly

The perf_event_time() will call perf_cgroup_event_time()
if @event is a cgroup event. Just do it directly and avoid
the extra check..

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Link: http://lkml.kernel.org/r/1327021966-27688-2-git-send-email-namhyung.kim@lge.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 kernel/events/core.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index a8f4ac0..32b48c8 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -815,7 +815,7 @@ static void update_event_times(struct perf_event *event)
 	 * here.
 	 */
 	if (is_cgroup_event(event))
-		run_end = perf_event_time(event);
+		run_end = perf_cgroup_event_time(event);
 	else if (ctx->is_active)
 		run_end = ctx->time;
 	else

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

end of thread, other threads:[~2012-01-22 21:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-20  1:12 [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails Namhyung Kim
2012-01-20  1:12 ` [PATCH 2/2] perf: Call perf_cgroup_event_time directly Namhyung Kim
2012-01-22 21:08   ` [tip:perf/urgent] perf: Call perf_cgroup_event_time() directly tip-bot for Namhyung Kim
2012-01-20  3:59 ` [PATCH 1/2] perf: Don't call release_callchain_buffers if alloc fails Frederic Weisbecker
2012-01-22 21:07 ` [tip:perf/urgent] perf: Don't call release_callchain_buffers() if allocation fails tip-bot for Namhyung Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).