From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>
Cc: Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Clark Williams <williams@redhat.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
He Zhe <zhe.he@windriver.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Alexey Budankov <alexey.budankov@linux.intel.com>,
Jiri Olsa <jolsa@redhat.com>,
Kan Liang <kan.liang@linux.intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Stephane Eranian <eranian@google.com>
Subject: [PATCH 04/10] perf ftrace: Fix failure to set cpumask when only one cpu is present
Date: Thu, 8 Aug 2019 15:53:52 -0300 [thread overview]
Message-ID: <20190808185358.20125-5-acme@kernel.org> (raw)
In-Reply-To: <20190808185358.20125-1-acme@kernel.org>
From: He Zhe <zhe.he@windriver.com>
The buffer containing the string used to set cpumask is overwritten at
the end of the string later in cpu_map__snprint_mask due to not enough
memory space, when there is only one cpu.
And thus causes the following failure:
$ perf ftrace ls
failed to reset ftrace
$
This patch fixes the calculation of the cpumask string size.
Signed-off-by: He Zhe <zhe.he@windriver.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Fixes: dc23103278c5 ("perf ftrace: Add support for -a and -C option")
Link: http://lkml.kernel.org/r/1564734592-15624-1-git-send-email-zhe.he@windriver.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-ftrace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c
index 66d5a6658daf..019312810405 100644
--- a/tools/perf/builtin-ftrace.c
+++ b/tools/perf/builtin-ftrace.c
@@ -173,7 +173,7 @@ static int set_tracing_cpumask(struct cpu_map *cpumap)
int last_cpu;
last_cpu = cpu_map__cpu(cpumap, cpumap->nr - 1);
- mask_size = (last_cpu + 3) / 4 + 1;
+ mask_size = last_cpu / 4 + 2; /* one more byte for EOS */
mask_size += last_cpu / 32; /* ',' is needed for every 32th cpus */
cpumask = malloc(mask_size);
--
2.21.0
next prev parent reply other threads:[~2019-08-08 18:53 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-08 18:53 [GIT PULL] perf/urgent improvements and fixes Arnaldo Carvalho de Melo
2019-08-08 18:53 ` [PATCH 01/10] perf bench numa: Fix cpu0 binding Arnaldo Carvalho de Melo
2019-08-08 18:53 ` [PATCH 02/10] perf annotate: Fix printing of unaugmented disassembled instructions from BPF Arnaldo Carvalho de Melo
2019-08-08 18:53 ` [PATCH 03/10] perf db-export: Fix thread__exec_comm() Arnaldo Carvalho de Melo
2019-08-08 18:53 ` Arnaldo Carvalho de Melo [this message]
2019-08-08 18:53 ` [PATCH 05/10] perf cpumap: Fix writing to illegal memory in handling cpumap mask Arnaldo Carvalho de Melo
2019-08-08 18:53 ` [PATCH 06/10] perf tools: Fix a typo in a variable name in the Documentation Makefile Arnaldo Carvalho de Melo
2019-08-08 18:53 ` [PATCH 07/10] perf tools: Fix include paths in ui directory Arnaldo Carvalho de Melo
2019-08-08 18:53 ` [PATCH 08/10] perf record: Fix module size on s390 Arnaldo Carvalho de Melo
2019-08-08 18:53 ` [PATCH 09/10] perf annotate: Fix s390 gap between kernel end and module start Arnaldo Carvalho de Melo
2019-08-08 18:53 ` [PATCH 10/10] perf pmu-events: Fix missing "cpu_clk_unhalted.core" event Arnaldo Carvalho de Melo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190808185358.20125-5-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=alexey.budankov@linux.intel.com \
--cc=eranian@google.com \
--cc=jolsa@kernel.org \
--cc=jolsa@redhat.com \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
--cc=zhe.he@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.