[PATCH] perf_events: fix bogus copy_to_user() in perf_event_read_group()

From: Stephane Eranian
Date: Tue Nov 24 2009 - 00:41:00 EST


[This is a repost due to a formatting problem with Gmail]

When using an event group, the value and id for non leaders events were
wrong due to invalid offset into the outgoing buffer.

Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>

---
perf_event.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 0b0d5f7..8306127 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -1826,7 +1826,7 @@ static int perf_event_read_group(struct perf_event *event,

size = n * sizeof(u64);

- if (copy_to_user(buf + size, values, size)) {
+ if (copy_to_user(buf + ret, values, size)) {
ret = -EFAULT;
goto unlock;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/