Messages in this thread Patch in this message | | | Date | Sat, 12 Feb 2011 01:34:23 GMT | From | tip-bot for Arnaldo Carvalho de Melo <> | Subject | [tip:perf/core] perf report: Fix initializion of annotate symbol priv area |
| |
Commit-ID: 0849327d13a0bd7f6512b7c21f4b3e79efb2076d Gitweb: http://git.kernel.org/tip/0849327d13a0bd7f6512b7c21f4b3e79efb2076d Author: Arnaldo Carvalho de Melo <acme@redhat.com> AuthorDate: Fri, 11 Feb 2011 12:09:54 -0200 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Fri, 11 Feb 2011 12:09:54 -0200
perf report: Fix initializion of annotate symbol priv area
We only allocate it when in TUI mode. In --stdio mode unconditionally initializing this area leads to memory corruption.
Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/builtin-report.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index f403ace..f9a99a1 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -44,6 +44,7 @@ static const char default_pretty_printing_style[] = "normal"; static const char *pretty_printing_style = default_pretty_printing_style; static char callchain_default_opt[] = "fractal,0.5"; +static symbol_filter_t annotate_init; static struct hists *perf_session__hists_findnew(struct perf_session *self, u64 event_stream, u32 type, @@ -167,7 +168,7 @@ static int process_sample_event(union perf_event *event, struct perf_event_attr *attr; if (perf_event__preprocess_sample(event, session, &al, sample, - symbol__annotate_init) < 0) { + annotate_init) < 0) { fprintf(stderr, "problem processing %d event, skipping it.\n", event->header.type); return -1; @@ -520,6 +521,7 @@ int cmd_report(int argc, const char **argv, const char *prefix __used) */ if (use_browser > 0) { symbol_conf.priv_size = sizeof(struct annotation); + annotate_init = symbol__annotate_init; /* * For searching by name on the "Browse map details". * providing it only in verbose mode not to bloat too
| |