[PATCH 0/8] perf: Replace strerror with strerror_r for thread-safety
From: Masami Hiramatsu
Date: Wed Aug 13 2014 - 22:20:37 EST
Hi,
Here is a series to get rid of thread-unsafe strerror() from
perf tools. Of course, there maybe other thread-unsafe functions,
so this goes just one step forward. :)
This introduces STRERR_BUFSIZE(=128) macro for allocating local
buffer, but some strerror_r()s don't use that. If there are
already a local buffer on the stack, and if it is bigger than
STRERR_BUFSIZE, I chose it for strerror_r()'s buffer.
By the way, while doing this cleanup, I've found some confusions
on the code. Currently perf has 3 ways to output messages except
for standard (f)printf, pr_XXX, ui__XXX and warning/error functions.
Is there any differences among those APIs? What is the expected
use cases for them?
For example, a pure printf is in kvm_live_open_events@xxxxxxxxxxxxx
but it seems to be ui__error, because the error output next to it
uses that. However, other parts use pr_XXX too. It seems inconsistent.
Thank you,
---
Masami Hiramatsu (8):
perf probe: Don't use strerror if strlist__add failed
perf: Use strerror_r instead of strerror
perf probe: Make error messages thread-safe
perf/util: Replace strerror with strerror_r for thread-safety
perf top: Use strerror_r instead of strerror
perf trace: Use strerror_r instead of strerror
perf record: Use strerror_r instead of strerror
perf test: Use strerror_r instead of strerror
tools/perf/builtin-probe.c | 5 +++-
tools/perf/builtin-record.c | 7 +++---
tools/perf/builtin-top.c | 2 +-
tools/perf/builtin-trace.c | 6 +++--
tools/perf/perf.c | 10 ++++++---
tools/perf/tests/builtin-test.c | 4 +++
tools/perf/tests/mmap-basic.c | 7 +++---
tools/perf/tests/open-syscall-all-cpus.c | 5 +++-
tools/perf/tests/open-syscall-tp-fields.c | 7 ++++--
tools/perf/tests/open-syscall.c | 3 ++-
tools/perf/tests/perf-record.c | 13 ++++++++---
tools/perf/tests/rdpmc.c | 6 +++--
tools/perf/tests/sw-clock.c | 6 +++--
tools/perf/tests/task-exit.c | 6 +++--
tools/perf/util/cloexec.c | 6 +++--
tools/perf/util/data.c | 8 +++++--
tools/perf/util/debug.h | 3 +++
tools/perf/util/dso.c | 8 +++++--
tools/perf/util/evlist.c | 2 +-
tools/perf/util/evsel.c | 7 ++++--
tools/perf/util/parse-events.c | 5 +++-
tools/perf/util/probe-event.c | 34 ++++++++++++++++-------------
tools/perf/util/probe-finder.c | 7 ++++--
tools/perf/util/run-command.c | 9 ++++++--
tools/perf/util/util.c | 5 +++-
25 files changed, 121 insertions(+), 60 deletions(-)
--
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@xxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/