From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
David Carrillo-Cisneros <davidcc@google.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Andi Kleen <ak@linux.intel.com>, Andrew Vagin <avagin@openvz.org>,
He Kuang <hekuang@huawei.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Paul Turner <pjt@google.com>,
Peter Zijlstra <peterz@infradead.org>,
Simon Que <sque@chromium.org>,
Stephane Eranian <eranian@google.com>,
Wang Nan <wangnan0@huawei.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 11/18] perf inject: Don't proceed if perf_session__process_event() fails
Date: Tue, 11 Apr 2017 21:52:08 -0300 [thread overview]
Message-ID: <20170412005215.30135-12-acme@kernel.org> (raw)
In-Reply-To: <20170412005215.30135-1-acme@kernel.org>
From: David Carrillo-Cisneros <davidcc@google.com>
All paths following perf_session__process_event() in __cmd_inject() are
useless if __cmd_inject() is to fail, some depend on a correct
session->evlist.
First commit to add code that depends on session->evlist without checking
error was commmit e558a5bd8b ("perf inject: Work with files"). It has
grown since then.
Change __cmd_inject() to fail immediately after
perf_session__process_event() fails.
Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Andrew Vagin <avagin@openvz.org>
Cc: He Kuang <hekuang@huawei.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Paul Turner <pjt@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Simon Que <sque@chromium.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Fixes: e558a5bd8b74 ("perf inject: Work with files")
Link: http://lkml.kernel.org/r/20170410201432.24807-2-davidcc@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-inject.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index 42dff0b1375a..65e1c026a2f0 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -694,6 +694,8 @@ static int __cmd_inject(struct perf_inject *inject)
lseek(fd, output_data_offset, SEEK_SET);
ret = perf_session__process_events(session);
+ if (ret)
+ return ret;
if (!file_out->is_pipe) {
if (inject->build_ids)
--
2.9.3
next prev parent reply other threads:[~2017-04-12 0:54 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-12 0:51 [GIT PULL 00/18] perf/core improvements and fixes Arnaldo Carvalho de Melo
2017-04-12 0:51 ` [PATCH 01/18] perf callchains: Switch from strtok() to strtok_r() when parsing options Arnaldo Carvalho de Melo
2017-04-12 0:51 ` [PATCH 02/18] perf script: Use strtok_r() when parsing output field list Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 03/18] perf evsel: Return exact sub event which failed with EPERM for wildcards Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 04/18] perf stat: Refactor the code to strip csv output with ltrim() Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 05/18] perf ui browser: Refactor the code to parse color configs " Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 06/18] perf pmu: Refactor wordwrap() " Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 07/18] perf tools: Refactor the code to strip command name with {l,r}trim() Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 08/18] perf string: Simplify ltrim() implementation Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 09/18] perf annotate s390: Fix perf annotate error -95 (4.10 regression) Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 10/18] perf annotate s390: Implement jump types for perf annotate Arnaldo Carvalho de Melo
2017-04-12 0:52 ` Arnaldo Carvalho de Melo [this message]
2017-04-12 0:52 ` [PATCH 12/18] perf inject: Copy events when reordering events in pipe mode Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 13/18] perf tools: Describe pipe mode in perf.data-file-fomat.txt Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 14/18] perf annotate: Process attr and build_id records Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 15/18] perf session: Don't rely on evlist in pipe mode Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 16/18] perf tools: Do not print missing features in pipe-mode Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 17/18] perf annotate: Refactor the code to parse disassemble lines with {l,r}trim() Arnaldo Carvalho de Melo
2017-04-12 0:52 ` [PATCH 18/18] perf annotate: Use stripped line instead of raw disassemble line Arnaldo Carvalho de Melo
2017-04-12 5:30 ` [GIT PULL 00/18] perf/core improvements and fixes Ingo Molnar
2017-04-12 7:13 ` Christian Borntraeger
2017-04-12 7:24 ` Ingo Molnar
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=20170412005215.30135-12-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=avagin@openvz.org \
--cc=davidcc@google.com \
--cc=eranian@google.com \
--cc=hekuang@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=sque@chromium.org \
--cc=wangnan0@huawei.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.