All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@linux.intel.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>,
	acme@kernel.org, jolsa@kernel.org,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	eranian@google.com
Subject: Re: Support sample context in perf report
Date: Tue, 26 Feb 2019 14:55:20 -0800	[thread overview]
Message-ID: <87pnrerwh3.fsf@linux.intel.com> (raw)
In-Reply-To: <20190226223319.GA2393@krava> (Jiri Olsa's message of "Tue, 26 Feb 2019 23:33:19 +0100")

Jiri Olsa <jolsa@redhat.com> writes:
>
> im still getting compile error the new branch:
>
>   CC       ui/browsers/hists.o
> ui/browsers/hists.c: In function ‘perf_evsel__hists_browse’:
> ui/browsers/hists.c:2567:8: error: ‘%s’ directive output may be truncated writing up to 63 bytes into a region of size between 28 and 91 [-Werror=format-truncation=]
>    n += snprintf(script_opt + n, len - n, " --time %s,%s", start, end);
>         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from ui/browsers/hists.c:5:
> /usr/include/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output between 10 and 136 bytes into a destination of size 100
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> mv: cannot stat 'ui/browsers/.hists.o.tmp': No such file or directory

I tested with gcc 8 and it built on a opensuse leap system.

Of course you never know where you end up with the gcc -Werror
russian roulette. I don't think any of those can really overflow,
it's all false positives. This one is particularly annoying
because the compiler seems to assume that every char[] variable
is filled up to the maximum, which is flat out wrong.

Anyways this patch should help.

-Andi

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index e35b274ee863..8ca988506388 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2554,7 +2554,7 @@ do_run_script(struct hist_browser *browser __maybe_unused,
 	}
 
 	if (act->time) {
-		char start[64], end[64];
+		char start[22], end[22];
 		unsigned long starttime = act->time;
 		unsigned long endtime = act->time + symbol_conf.time_quantum;
 

  reply	other threads:[~2019-02-26 22:55 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-26  3:04 Support sample context in perf report Andi Kleen
2019-02-26  3:04 ` [PATCH v2 01/11] perf tools script: Support insn output for normal samples Andi Kleen
2019-02-26  3:04 ` [PATCH v2 02/11] perf tools report: Support nano seconds Andi Kleen
2019-02-26  3:04 ` [PATCH v2 03/11] perf tools report: Parse time quantum Andi Kleen
2019-02-26  3:04 ` [PATCH v2 04/11] perf tools report: Support time sort key Andi Kleen
2019-02-26  3:04 ` [PATCH v2 05/11] perf tools report: Use less for scripts output Andi Kleen
2019-02-26  3:04 ` [PATCH v2 06/11] perf tools report: Support running scripts for current time range Andi Kleen
2019-02-26  3:04 ` [PATCH v2 07/11] perf tools: Add perf_exe() helper to find perf binary Andi Kleen
2019-02-26  3:04 ` [PATCH v2 08/11] perf tools report: Support builtin perf script in scripts menu Andi Kleen
2019-02-26  3:04 ` [PATCH v2 09/11] perf tools: Add utility function to print ns time stamps Andi Kleen
2019-02-26  3:04 ` [PATCH v2 10/11] perf tools report: Implement browsing of individual samples Andi Kleen
2019-02-26  3:04 ` [PATCH v2 11/11] perf tools: Add some new tips describing the new options Andi Kleen
2019-02-26 22:33 ` Support sample context in perf report Jiri Olsa
2019-02-26 22:55   ` Andi Kleen [this message]
2019-02-27 11:18 ` Jiri Olsa
2019-02-27 16:01   ` Andi Kleen
2019-02-27 16:16     ` Jiri Olsa
2019-02-27 17:29       ` Andi Kleen
2019-02-27 17:41         ` Arnaldo Carvalho de Melo
2019-02-27 17:56           ` Jiri Olsa
  -- strict thread matches above, loose matches on Subject: below --
2019-03-11 14:44 Andi Kleen
2019-03-09  5:56 Andi Kleen
2019-03-05 14:47 Andi Kleen
2019-03-07 10:57 ` Jiri Olsa
2019-03-07 16:57   ` Andi Kleen
2019-02-28 18:35 Andi Kleen
2019-02-24 15:37 Andi Kleen

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=87pnrerwh3.fsf@linux.intel.com \
    --to=ak@linux.intel.com \
    --cc=acme@kernel.org \
    --cc=andi@firstfloor.org \
    --cc=eranian@google.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    /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.