[PATCH] perf, tool: Fix the array pointer to follow event data properly

From: Jiri Olsa
Date: Sat Mar 24 2012 - 10:20:29 EST


Currently we dont update the 'array' pointer properly after
processing the RAW data. This way perf might report wrong data
for branch stack if it is used along with tracepoint sample.

I'm not sure tracepoint could be connected with branch stack,
but I think the array pointer should have correct value after
each sample processing.

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/util/evsel.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index d9da62a..56a96896 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -580,6 +580,7 @@ int perf_event__parse_sample(const union perf_event *event, u64 type,
return -EFAULT;

data->raw_data = (void *) pdata;
+ array = (u64 *)(((char *)array) + data->raw_size + sizeof(u32));
}

if (type & PERF_SAMPLE_BRANCH_STACK) {
--
1.7.7.6

--
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/