From: "Jin, Yao" <yao.jin@linux.intel.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: acme@kernel.org, jolsa@kernel.org, peterz@infradead.org,
mingo@redhat.com, alexander.shishkin@linux.intel.com,
Linux-kernel@vger.kernel.org, ak@linux.intel.com,
kan.liang@intel.com, yao.jin@intel.com
Subject: Re: [PATCH v2 00/14] perf: Stream comparison
Date: Mon, 23 Mar 2020 21:59:13 +0800 [thread overview]
Message-ID: <ed2686f2-a370-4113-5148-e75c194b25bd@linux.intel.com> (raw)
In-Reply-To: <20200323110514.GG1534489@krava>
Hi Jiri,
On 3/23/2020 7:05 PM, Jiri Olsa wrote:
> On Fri, Mar 13, 2020 at 03:11:04PM +0800, Jin Yao wrote:
>> Sometimes, a small change in a hot function reducing the cycles of
>> this function, but the overall workload doesn't get faster. It is
>> interesting where the cycles are moved to.
>
> I'm getting compilation fail:
>
> BUILD: Doing 'make -j1' parallel build
> CC util/srclist.o
> util/srclist.c: In function ‘srclist__node_new’:
> util/srclist.c:388:35: error: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size 4091 [-Werror=format-truncation=]
> 388 | snprintf(cmd, sizeof(cmd), "diff %s %s",
> | ^~
> ......
> 456 | ret = init_src_info(b_path, a_path, rel_path, &node->info);
> | ~~~~~~
> In file included from /usr/include/stdio.h:867,
> from util/srclist.c:8:
> /usr/include/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 7 and 8197 bytes into a destination of size 4096
> 67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 68 | __bos (__s), __fmt, __va_arg_pack ());
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> mv: cannot stat 'util/.srclist.o.tmp': No such file or directory
> make[4]: *** [/home/jolsa/kernel/linux-perf/tools/build/Makefile.build:97: util/srclist.o] Error 1
> make[3]: *** [/home/jolsa/kernel/linux-perf/tools/build/Makefile.build:139: util] Error 2
> make[2]: *** [Makefile.perf:617: perf-in.o] Error 2
> make[1]: *** [Makefile.perf:225: sub-make] Error 2
> make: *** [Makefile:70: all] Error 2
>
>
> [jolsa@krava ~]$ gcc --version
> gcc (GCC) 9.3.1 20200317 (Red Hat 9.3.1-1)
>
> jirka
>
Can you help to add following patch on top of the patch-set? Looks we
need to check the return value of snprintf for truncation checking.
jinyao@kbl:~/kbl-ws/perf-dev/lck-7589/acme/tools/perf$ git diff
diff --git a/tools/perf/util/srclist.c b/tools/perf/util/srclist.c
index 8060e4855d11..51ca69eaa9fd 100644
--- a/tools/perf/util/srclist.c
+++ b/tools/perf/util/srclist.c
@@ -385,8 +385,12 @@ static int src_info__create_line_mapping(struct
src_info *info, char *b_path,
goto out;
}
- snprintf(cmd, sizeof(cmd), "diff %s %s",
- b_path, a_path);
+ ret = snprintf(cmd, PATH_MAX, "diff %s %s",
+ b_path, a_path);
+ if (ret == PATH_MAX) {
+ ret = -1;
+ goto out;
+ }
pr_debug("Execute '%s'\n", cmd);
Thanks
Jin Yao
next prev parent reply other threads:[~2020-03-23 13:59 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-13 7:11 [PATCH v2 00/14] perf: Stream comparison Jin Yao
2020-03-13 7:11 ` [PATCH v2 01/14] perf util: Create source line mapping table Jin Yao
2020-03-13 7:11 ` [PATCH v2 02/14] perf util: Create streams for managing top N hottest callchains Jin Yao
2020-03-13 7:11 ` [PATCH v2 03/14] perf util: Return per-event callchain streams Jin Yao
2020-03-13 7:11 ` [PATCH v2 04/14] perf util: Compare two streams Jin Yao
2020-03-13 7:11 ` [PATCH v2 05/14] perf util: Calculate the sum of all streams hits Jin Yao
2020-03-13 7:11 ` [PATCH v2 06/14] perf util: Report hot streams Jin Yao
2020-03-13 7:11 ` [PATCH v2 07/14] perf diff: Support hot streams comparison Jin Yao
2020-03-13 7:11 ` [PATCH v2 08/14] perf util: Add new block info functions for top N hot blocks comparison Jin Yao
2020-03-13 7:11 ` [PATCH v2 09/14] perf util: Add new block info fmts for showing " Jin Yao
2020-03-13 7:11 ` [PATCH v2 10/14] perf util: Enable block source line comparison Jin Yao
2020-03-13 7:11 ` [PATCH v2 11/14] perf diff: support hot blocks comparison Jin Yao
2020-03-13 7:11 ` [PATCH v2 12/14] perf util: Filter out streams by name of changed functions Jin Yao
2020-03-13 7:11 ` [PATCH v2 13/14] perf util: Filter out blocks " Jin Yao
2020-03-13 7:11 ` [PATCH v2 14/14] perf diff: Filter out streams by " Jin Yao
2020-03-18 10:19 ` [PATCH v2 00/14] perf: Stream comparison Jiri Olsa
2020-03-19 1:48 ` Jin, Yao
2020-03-23 11:05 ` Jiri Olsa
2020-03-23 13:59 ` Jin, Yao [this message]
2020-03-23 14:37 ` Jiri Olsa
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=ed2686f2-a370-4113-5148-e75c194b25bd@linux.intel.com \
--to=yao.jin@linux.intel.com \
--cc=Linux-kernel@vger.kernel.org \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=jolsa@kernel.org \
--cc=jolsa@redhat.com \
--cc=kan.liang@intel.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=yao.jin@intel.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.