summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2009-03-05 14:05:57 +1100
committerPaul Mackerras <paulus@samba.org>2009-03-06 08:07:13 +1100
commit86028598de16538f02519141756ccf4accfc29a6 (patch)
treeb2afaf03f578547bda536d0d99e87636e59216ea /arch/powerpc/kernel
parentb5e8acf66ff5db707c7e08df49fdf6b415878442 (diff)
downloadlinux-86028598de16538f02519141756ccf4accfc29a6.tar.gz
linux-86028598de16538f02519141756ccf4accfc29a6.tar.bz2
linux-86028598de16538f02519141756ccf4accfc29a6.zip
perfcounters/powerpc: fix oops with multiple counters in a group
Impact: fix oops-causing bug This fixes a bug in the powerpc hw_perf_counter_init where the code didn't initialize ctrs[n] before passing the ctrs array to check_excludes, leading to possible oopses and other incorrect behaviour. This fixes it by initializing ctrs[n] correctly. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/perf_counter.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/perf_counter.c b/arch/powerpc/kernel/perf_counter.c
index 112332d07fc2..4fec112386fc 100644
--- a/arch/powerpc/kernel/perf_counter.c
+++ b/arch/powerpc/kernel/perf_counter.c
@@ -633,6 +633,7 @@ hw_perf_counter_init(struct perf_counter *counter)
return NULL;
}
events[n] = ev;
+ ctrs[n] = counter;
if (check_excludes(ctrs, n, 1))
return NULL;
if (power_check_constraints(events, n + 1))