* [PATCH] perf tools: Suppress potential format-truncation warning in util/pmu.c
@ 2018-11-11 18:45 Ben Hutchings
2018-11-12 16:37 ` Arnaldo Carvalho de Melo
2018-11-22 7:13 ` [tip:perf/core] perf pmu: Suppress potential format-truncation warning tip-bot for Ben Hutchings
0 siblings, 2 replies; 3+ messages in thread
From: Ben Hutchings @ 2018-11-11 18:45 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo
Cc: Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2223 bytes --]
Depending on which functions are inlined in util/pmu.c, the
snprintf() calls in perf_pmu__parse_{scale,unit,per_pkg,snapshot}()
might trigger a warning:
util/pmu.c: In function 'pmu_aliases':
util/pmu.c:178:31: error: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4095 [-Werror=format-truncation=]
snprintf(path, PATH_MAX, "%s/%s.unit", dir, name);
^~
I found this when trying to build perf from Linux 3.16 with gcc 8.
However I can reproduce the problem in mainline if I force
__perf_pmu__new_alias() to be inlined.
Suppress this by using scnprintf() as has been done elsewhere in
perf.
Cc: stable@vger.kernel.org
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
tools/perf/util/pmu.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
index 7799788f662f..25c7d2a4e91b 100644
--- a/tools/perf/util/pmu.c
+++ b/tools/perf/util/pmu.c
@@ -145,7 +145,7 @@ static int perf_pmu__parse_scale(struct perf_pmu_alias *alias, char *dir, char *
int fd, ret = -1;
char path[PATH_MAX];
- snprintf(path, PATH_MAX, "%s/%s.scale", dir, name);
+ scnprintf(path, PATH_MAX, "%s/%s.scale", dir, name);
fd = open(path, O_RDONLY);
if (fd == -1)
@@ -175,7 +175,7 @@ static int perf_pmu__parse_unit(struct perf_pmu_alias *alias, char *dir, char *n
ssize_t sret;
int fd;
- snprintf(path, PATH_MAX, "%s/%s.unit", dir, name);
+ scnprintf(path, PATH_MAX, "%s/%s.unit", dir, name);
fd = open(path, O_RDONLY);
if (fd == -1)
@@ -205,7 +205,7 @@ perf_pmu__parse_per_pkg(struct perf_pmu_alias *alias, char *dir, char *name)
char path[PATH_MAX];
int fd;
- snprintf(path, PATH_MAX, "%s/%s.per-pkg", dir, name);
+ scnprintf(path, PATH_MAX, "%s/%s.per-pkg", dir, name);
fd = open(path, O_RDONLY);
if (fd == -1)
@@ -223,7 +223,7 @@ static int perf_pmu__parse_snapshot(struct perf_pmu_alias *alias,
char path[PATH_MAX];
int fd;
- snprintf(path, PATH_MAX, "%s/%s.snapshot", dir, name);
+ scnprintf(path, PATH_MAX, "%s/%s.snapshot", dir, name);
fd = open(path, O_RDONLY);
if (fd == -1)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] perf tools: Suppress potential format-truncation warning in util/pmu.c
2018-11-11 18:45 [PATCH] perf tools: Suppress potential format-truncation warning in util/pmu.c Ben Hutchings
@ 2018-11-12 16:37 ` Arnaldo Carvalho de Melo
2018-11-22 7:13 ` [tip:perf/core] perf pmu: Suppress potential format-truncation warning tip-bot for Ben Hutchings
1 sibling, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-11-12 16:37 UTC (permalink / raw)
To: Ben Hutchings
Cc: Peter Zijlstra, Ingo Molnar, Alexander Shishkin, Jiri Olsa,
Namhyung Kim, linux-kernel
Em Sun, Nov 11, 2018 at 06:45:24PM +0000, Ben Hutchings escreveu:
> Depending on which functions are inlined in util/pmu.c, the
> snprintf() calls in perf_pmu__parse_{scale,unit,per_pkg,snapshot}()
> might trigger a warning:
>
> util/pmu.c: In function 'pmu_aliases':
> util/pmu.c:178:31: error: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4095 [-Werror=format-truncation=]
> snprintf(path, PATH_MAX, "%s/%s.unit", dir, name);
> ^~
>
> I found this when trying to build perf from Linux 3.16 with gcc 8.
> However I can reproduce the problem in mainline if I force
> __perf_pmu__new_alias() to be inlined.
>
> Suppress this by using scnprintf() as has been done elsewhere in
> perf.
Thanks, applied.
- Arnaldo
^ permalink raw reply [flat|nested] 3+ messages in thread* [tip:perf/core] perf pmu: Suppress potential format-truncation warning
2018-11-11 18:45 [PATCH] perf tools: Suppress potential format-truncation warning in util/pmu.c Ben Hutchings
2018-11-12 16:37 ` Arnaldo Carvalho de Melo
@ 2018-11-22 7:13 ` tip-bot for Ben Hutchings
1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Ben Hutchings @ 2018-11-22 7:13 UTC (permalink / raw)
To: linux-tip-commits
Cc: ben, acme, namhyung, linux-kernel, peterz, jolsa, mingo, tglx,
alexander.shishkin, hpa
Commit-ID: 11a64a05dc649815670b1be9fe63d205cb076401
Gitweb: https://git.kernel.org/tip/11a64a05dc649815670b1be9fe63d205cb076401
Author: Ben Hutchings <ben@decadent.org.uk>
AuthorDate: Sun, 11 Nov 2018 18:45:24 +0000
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 21 Nov 2018 22:39:56 -0300
perf pmu: Suppress potential format-truncation warning
Depending on which functions are inlined in util/pmu.c, the snprintf()
calls in perf_pmu__parse_{scale,unit,per_pkg,snapshot}() might trigger a
warning:
util/pmu.c: In function 'pmu_aliases':
util/pmu.c:178:31: error: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4095 [-Werror=format-truncation=]
snprintf(path, PATH_MAX, "%s/%s.unit", dir, name);
^~
I found this when trying to build perf from Linux 3.16 with gcc 8.
However I can reproduce the problem in mainline if I force
__perf_pmu__new_alias() to be inlined.
Suppress this by using scnprintf() as has been done elsewhere in perf.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/20181111184524.fux4taownc6ndbx6@decadent.org.uk
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/pmu.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
index 7e49baad304d..7348eea0248f 100644
--- a/tools/perf/util/pmu.c
+++ b/tools/perf/util/pmu.c
@@ -145,7 +145,7 @@ static int perf_pmu__parse_scale(struct perf_pmu_alias *alias, char *dir, char *
int fd, ret = -1;
char path[PATH_MAX];
- snprintf(path, PATH_MAX, "%s/%s.scale", dir, name);
+ scnprintf(path, PATH_MAX, "%s/%s.scale", dir, name);
fd = open(path, O_RDONLY);
if (fd == -1)
@@ -175,7 +175,7 @@ static int perf_pmu__parse_unit(struct perf_pmu_alias *alias, char *dir, char *n
ssize_t sret;
int fd;
- snprintf(path, PATH_MAX, "%s/%s.unit", dir, name);
+ scnprintf(path, PATH_MAX, "%s/%s.unit", dir, name);
fd = open(path, O_RDONLY);
if (fd == -1)
@@ -205,7 +205,7 @@ perf_pmu__parse_per_pkg(struct perf_pmu_alias *alias, char *dir, char *name)
char path[PATH_MAX];
int fd;
- snprintf(path, PATH_MAX, "%s/%s.per-pkg", dir, name);
+ scnprintf(path, PATH_MAX, "%s/%s.per-pkg", dir, name);
fd = open(path, O_RDONLY);
if (fd == -1)
@@ -223,7 +223,7 @@ static int perf_pmu__parse_snapshot(struct perf_pmu_alias *alias,
char path[PATH_MAX];
int fd;
- snprintf(path, PATH_MAX, "%s/%s.snapshot", dir, name);
+ scnprintf(path, PATH_MAX, "%s/%s.snapshot", dir, name);
fd = open(path, O_RDONLY);
if (fd == -1)
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-11-22 7:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-11 18:45 [PATCH] perf tools: Suppress potential format-truncation warning in util/pmu.c Ben Hutchings
2018-11-12 16:37 ` Arnaldo Carvalho de Melo
2018-11-22 7:13 ` [tip:perf/core] perf pmu: Suppress potential format-truncation warning tip-bot for Ben Hutchings
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.