From: Marti Raudsepp <marti@juffo.org>
Date: Fri, 12 Jun 2009 23:35:01 +0000 (+0300)
Subject: perf_counter: Fix stack corruption in perf_read_hw
X-Git-Tag: v2.6.31-rc1~93^2~46
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d5e8da6449d4ef4bac35ea9b9719a2cda02e7b39;p=linux.git

perf_counter: Fix stack corruption in perf_read_hw

With PERF_FORMAT_ID, perf_read_hw now needs space for up to 4 values.

Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---

diff --git a/kernel/perf_counter.c b/kernel/perf_counter.c
index 8d14a733f222..e914daff03b5 100644
--- a/kernel/perf_counter.c
+++ b/kernel/perf_counter.c
@@ -1553,7 +1553,7 @@ static int perf_release(struct inode *inode, struct file *file)
 static ssize_t
 perf_read_hw(struct perf_counter *counter, char __user *buf, size_t count)
 {
-	u64 values[3];
+	u64 values[4];
 	int n;
 
 	/*