summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorStephane Eranian <eranian@google.com>2011-03-23 16:03:06 +0100
committerIngo Molnar <mingo@elte.hu>2011-03-23 16:07:22 +0100
commit68cacd29167b1926d237bd1b153aa2a990201729 (patch)
treed4359e9e0a1fa88b569e0c8a20aede435d916fee /include/linux
parentce2d17ca7f85dcade62cd608601a0d52ccdaf0e6 (diff)
downloadlinux-stable-68cacd29167b1926d237bd1b153aa2a990201729.tar.gz
linux-stable-68cacd29167b1926d237bd1b153aa2a990201729.tar.bz2
linux-stable-68cacd29167b1926d237bd1b153aa2a990201729.zip
perf_events: Fix stale ->cgrp pointer in update_cgrp_time_from_cpuctx()
This patch solves a stale pointer problem in update_cgrp_time_from_cpuctx(). The cpuctx->cgrp was not cleared on all possible event exit paths, including: close() perf_release() perf_release_kernel() list_del_event() This patch fixes list_del_event() to clear cpuctx->cgrp when there are no cgroup events left in the context. [ This second version makes the code compile when CONFIG_CGROUP_PERF is not enabled. We unconditionally define perf_cpu_context->cgrp. ] Signed-off-by: Stephane Eranian <eranian@google.com> Cc: peterz@infradead.org Cc: perfmon2-devel@lists.sf.net Cc: paulus@samba.org Cc: davem@davemloft.net LKML-Reference: <20110323150306.GA1580@quad> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/perf_event.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index f495c0147240..311b4dc785a1 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -938,9 +938,7 @@ struct perf_cpu_context {
struct list_head rotation_list;
int jiffies_interval;
struct pmu *active_pmu;
-#ifdef CONFIG_CGROUP_PERF
struct perf_cgroup *cgrp;
-#endif
};
struct perf_output_handle {