From: David Carrillo-Cisneros <davidcc@google.com>
To: linux-kernel@vger.kernel.org
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
David Ahern <dsahern@gmail.com>, Andi Kleen <ak@linux.intel.com>,
Simon Que <sque@chromium.org>, Wang Nan <wangnan0@huawei.com>,
Jiri Olsa <jolsa@kernel.org>, He Kuang <hekuang@huawei.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
David Ahern <dsa@cumulusnetworks.com>,
Namhyung Kim <namhyung@kernel.org>,
Stephane Eranian <eranian@google.com>,
Paul Turner <pjt@google.com>,
David Carrillo-Cisneros <davidcc@google.com>
Subject: [PATCH v6 03/16] perf header: fail on write_padded error
Date: Mon, 17 Jul 2017 21:25:36 -0700 [thread overview]
Message-ID: <20170718042549.145161-4-davidcc@google.com> (raw)
In-Reply-To: <20170718042549.145161-1-davidcc@google.com>
Do not proceed if write_padded error failed.
Also, add comments to remind that the return value of write_*
functions in util/header.c is an erro code and not the number
of bytes written.
Signed-off-by: David Carrillo-Cisneros <davidcc@google.com>
---
| 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 3b833f06c4e7..8dda19b68ac4 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -74,6 +74,7 @@ bool perf_header__has_feat(const struct perf_header *header, int feat)
return test_bit(feat, header->adds_features);
}
+/* Return: 0 if succeded, -ERR if failed. */
static int do_write(int fd, const void *buf, size_t size)
{
while (size) {
@@ -89,6 +90,7 @@ static int do_write(int fd, const void *buf, size_t size)
return 0;
}
+/* Return: 0 if succeded, -ERR if failed. */
int write_padded(int fd, const void *bf, size_t count, size_t count_aligned)
{
static const char zero_buf[NAME_ALIGN];
@@ -103,6 +105,7 @@ int write_padded(int fd, const void *bf, size_t count, size_t count_aligned)
#define string_size(str) \
(PERF_ALIGN((strlen(str) + 1), NAME_ALIGN) + sizeof(u32))
+/* Return: 0 if succeded, -ERR if failed. */
static int do_write_string(int fd, const char *str)
{
u32 len, olen;
@@ -3200,7 +3203,8 @@ int perf_event__synthesize_tracing_data(struct perf_tool *tool, int fd,
*/
tracing_data_put(tdata);
- write_padded(fd, NULL, 0, padding);
+ if (write_padded(fd, NULL, 0, padding))
+ return -1;
return aligned_size;
}
--
2.13.2.932.g7449e964c-goog
next prev parent reply other threads:[~2017-07-18 4:29 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-18 4:25 [PATCH v6 00/16] perf tool: add meta-data header support for pipe-mode David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 01/16] perf header: encapsulate read and swap David Carrillo-Cisneros
2017-07-20 8:58 ` [tip:perf/core] perf header: Encapsulate " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 02/16] perf header: add PROCESS_STR_FUN macro David Carrillo-Cisneros
2017-07-20 8:58 ` [tip:perf/core] perf header: Add " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` David Carrillo-Cisneros [this message]
2017-07-20 8:59 ` [tip:perf/core] perf header: Fail on write_padded error tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 04/16] perf util: add const modifier to buf in "writen" function David Carrillo-Cisneros
2017-07-20 8:59 ` [tip:perf/core] perf util: Add " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 05/16] perf header: revamp do_write David Carrillo-Cisneros
2017-07-20 8:59 ` [tip:perf/core] perf header: Revamp do_write() tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 06/16] perf header: add struct feat_fd for write David Carrillo-Cisneros
2017-07-20 9:00 ` [tip:perf/core] perf header: Add " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 07/16] perf header: use struct feat_fd for print David Carrillo-Cisneros
2017-07-20 9:00 ` [tip:perf/core] perf header: Use " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 08/16] perf header: use struct feat_fd to process header records David Carrillo-Cisneros
2017-07-20 9:00 ` [tip:perf/core] perf header: Use " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 09/16] perf header: don't pass struct perf_file_section to process_##_feat David Carrillo-Cisneros
2017-07-20 9:01 ` [tip:perf/core] perf header: Don't " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 10/16] perf header: use struct feat_fd in read header records David Carrillo-Cisneros
2017-07-20 9:01 ` [tip:perf/core] perf header: Use " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 11/16] perf header: make write_pmu_mappings pipe-mode friendly David Carrillo-Cisneros
2017-07-20 9:01 ` [tip:perf/core] perf header: Make " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 12/16] perf header: add a buffer to struct feat_fd David Carrillo-Cisneros
2017-07-20 9:02 ` [tip:perf/core] perf header: Add " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 13/16] perf header: change FEAT_OP* macros David Carrillo-Cisneros
2017-07-20 9:02 ` [tip:perf/core] perf header: Change " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 14/16] perf tool: add show_feature_header to perf_tool David Carrillo-Cisneros
2017-07-20 9:02 ` [tip:perf/core] perf tool: Add " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 15/16] perf tools: add feature header record to pipe-mode David Carrillo-Cisneros
2017-07-20 9:03 ` [tip:perf/core] perf tools: Add " tip-bot for David Carrillo-Cisneros
2017-07-18 4:25 ` [PATCH v6 16/16] perf header: add event desc to pipe-mode header David Carrillo-Cisneros
2017-07-20 9:03 ` [tip:perf/core] perf header: Add " tip-bot for David Carrillo-Cisneros
2017-07-18 7:28 ` [PATCH v6 00/16] perf tool: add meta-data header support for pipe-mode 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=20170718042549.145161-4-davidcc@google.com \
--to=davidcc@google.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=dsa@cumulusnetworks.com \
--cc=dsahern@gmail.com \
--cc=eranian@google.com \
--cc=hekuang@huawei.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@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.