remarkable-linux/tools/perf/util
Namhyung Kim f787d9519f perf tools: Fix strbuf_addf() when the buffer needs to grow
This was found during chasing down the header output regression.  The
strbuf_addf() was checking buffer length with a result of vscnprintf()
which cannot be greater than that of strbuf_avail().

Since numa topology and pmu mapping info in header were converted to use
strbuf, it sometimes caused uninteresting behaviors with the broken
strbuf.

Fix it by using vsnprintf() which returns desired output string length
regardless of the available buffer size and grow the buffer if needed.

Reported-by: Andrew Jones <drjones@redhat.com>
Tested-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andrew Jones <drjones@redhat.com>
Link: http://lkml.kernel.org/r/1350999890-6920-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2012-10-30 10:32:56 -02:00
..
include perf: Fix UAPI fallout 2012-10-14 12:22:52 -07:00
scripting-engines perf tools: Fix a compiling error in trace-event-perl.c for 32 bits machine 2012-09-20 08:30:21 -03:00
abspath.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
alias.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
annotate.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
annotate.h perf tools: Convert to NEWT_SUPPORT 2012-10-02 18:36:22 -03:00
bitmap.c perf tools: Add bitmap_or function into bitmap object 2012-02-13 23:28:10 -02:00
build-id.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
build-id.h perf tools: Rename perf_event_ops to perf_tool 2011-11-28 10:39:28 -02:00
cache.h perf tools: Convert to HAVE_STRLCPY 2012-10-02 18:36:24 -03:00
callchain.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
callchain.h tools: perf: Fix typo in tools/perf 2012-09-01 08:49:34 -07:00
cgroup.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cgroup.h perf tool: Add cgroup support 2011-02-16 13:30:48 +01:00
color.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
color.h perf hist: Replace ->print() routines by ->snprintf() equivalents 2010-04-02 16:28:15 -03:00
config.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cpumap.c perf stat: Check PMU cpumask file 2012-09-17 13:12:02 -03:00
cpumap.h perf tools: Allow handling a NULL cpu_map as meaning "all cpus" 2012-09-26 12:41:14 -03:00
ctype.c perf tools: ctype.c only wants util.h 2012-02-13 23:17:40 -02:00
debug.c perf tools: Convert to GTK2_SUPPORT 2012-10-02 18:36:23 -03:00
debug.h perf tools: Convert to GTK2_SUPPORT 2012-10-02 18:36:23 -03:00
debugfs.c perf tools: Remove unused functions from debugfs object 2012-02-13 23:25:38 -02:00
debugfs.h perf tools: Remove unused functions from debugfs object 2012-02-13 23:25:38 -02:00
dso-test-data.c perf tools: replace mkostemp with mkstemp 2012-09-07 22:10:44 -03:00
dwarf-aux.c perf probe: Print an enum type variable in "enum variable-name" format when showing accessible variables 2012-09-27 10:58:57 -03:00
dwarf-aux.h perf probe: Search concrete out-of-line instances 2011-08-12 09:32:10 -03:00
environment.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
event.c perf symbols: Filter samples with unresolved symbol when "--symbols" option is used 2012-09-17 13:10:57 -03:00
event.h perf tools: fix ALIGN redefinition in system headers 2012-09-11 11:48:30 -03:00
evlist.c perf evlist: Remove some unused methods 2012-10-03 11:52:07 -03:00
evlist.h perf evlist: Remove some unused methods 2012-10-03 11:52:07 -03:00
evsel.c perf: Fix UAPI fallout 2012-10-14 12:22:52 -07:00
evsel.h perf: Fix UAPI fallout 2012-10-14 12:22:52 -07:00
exec_cmd.c perf tools: Makefile: Remove various and sundry cruft 2011-02-18 07:43:06 -02:00
exec_cmd.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
generate-cmdlist.sh perf tools: Convert to LIBELF_SUPPORT 2012-09-28 21:07:36 -03:00
header.c perf header: Fix numa topology printing 2012-10-30 10:32:55 -02:00
header.h perf: Fix UAPI fallout 2012-10-14 12:22:52 -07:00
help.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
help.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
hist.c perf hists: Add more helpers for hist entry stat 2012-10-04 13:36:18 -03:00
hist.h perf diff: Removing the total_period argument from output code 2012-10-04 13:31:30 -03:00
hweight.c perf tools: Don't use code surrounded by __KERNEL__ 2010-05-02 12:00:44 -03:00
intlist.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
intlist.h perf tools: Introduce intlist 2012-08-03 10:42:25 -03:00
levenshtein.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
levenshtein.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
map.c perf tools: Convert to LIBELF_SUPPORT 2012-09-28 21:07:36 -03:00
map.h perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
pager.c perf tools: Fix pager on minimal-install embedded systems 2012-05-30 15:10:39 -03:00
parse-events-test.c perf test: Fix exclude_guest parse events tests 2012-10-22 14:02:01 -02:00
parse-events.c perf tool: Precise mode requires exclude_guest 2012-10-16 12:43:31 -03:00
parse-events.h perf: Fix UAPI fallout 2012-10-14 12:22:52 -07:00
parse-events.l perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
parse-events.y perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
parse-options.c perf tools: Long option completion support for each subcommands 2012-10-02 18:36:44 -03:00
parse-options.h perf tools: Long option completion support for each subcommands 2012-10-02 18:36:44 -03:00
path.c perf tools: Convert to HAVE_STRLCPY 2012-10-02 18:36:24 -03:00
PERF-VERSION-GEN perf tools: Make --version show kernel version instead of pull req tag 2012-05-31 11:20:59 -03:00
perf_regs.h perf tools: Convert to LIBUNWIND_SUPPORT 2012-10-02 17:56:01 -03:00
pmu.c perf stat: Check PMU cpumask file 2012-09-17 13:12:02 -03:00
pmu.h perf: Fix UAPI fallout 2012-10-14 12:22:52 -07:00
pmu.l perf tools: Add perf pmu object to access pmu format definition 2012-03-16 14:29:35 -03:00
pmu.y perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
probe-event.c perf tools: remove sscanf extension %as 2012-09-24 11:49:31 -03:00
probe-event.h perf probe: Provide perf interface for uprobes 2012-05-11 13:58:17 -03:00
probe-finder.c perf probe: Add union member access support 2012-09-14 15:48:08 -03:00
probe-finder.h perf tools: Eliminate duplicate code and use PATH_MAX consistently 2011-11-28 10:11:04 -02:00
pstack.c perf newt: Make <- zoom out filters 2010-05-14 20:05:21 -03:00
pstack.h perf ui: Move hists browser to util/ui/browsers/ 2010-08-10 16:11:08 -03:00
python-ext-sources Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-10-01 09:06:36 -07:00
python.c perf python: Properly link with libtraceevent 2012-10-20 02:43:08 +02:00
quote.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
quote.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
rblist.c perf tools: Introducing rblist 2012-08-03 10:37:21 -03:00
rblist.h perf tools: Introducing rblist 2012-08-03 10:37:21 -03:00
run-command.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
run-command.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
session.c perf evsel: Know if byte swap is needed 2012-09-26 12:48:18 -03:00
session.h perf: Fix UAPI fallout 2012-10-14 12:22:52 -07:00
setup.py perf python: Properly link with libtraceevent 2012-10-20 02:43:08 +02:00
sigchain.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sigchain.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sort.c perf tools: Remove warnings on JIT samples for srcline sort key 2012-10-16 13:05:38 -03:00
sort.h perf hists: Introduce struct he_stat 2012-10-04 13:34:22 -03:00
stat.c perf stat: Move stats related code to util/stat.c 2012-09-17 13:10:03 -03:00
stat.h perf stat: Move stats related code to util/stat.c 2012-09-17 13:10:03 -03:00
strbuf.c perf tools: Fix strbuf_addf() when the buffer needs to grow 2012-10-30 10:32:56 -02:00
strbuf.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
strfilter.c perf: Fix missing strndup declaration 2011-03-04 01:17:18 +01:00
strfilter.h perf tools: Add strfilter for general purpose string filter 2011-01-28 09:19:38 -02:00
string.c perf tools: Add memdup function 2012-09-11 12:04:41 -03:00
strlist.c perf tools: Remove the node from rblist in strlist__remove 2012-09-05 17:36:42 -03:00
strlist.h perf tools: Change strlist to use the new rblist 2012-08-03 10:39:51 -03:00
svghelper.c perf timechart: Fix black idle boxes in the title 2011-02-28 08:56:14 +01:00
svghelper.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
symbol-elf.c perf symbols: Fix builds with NO_LIBELF set 2012-08-20 09:35:22 -03:00
symbol-minimal.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
symbol.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
symbol.h perf tools: Convert to LIBELF_SUPPORT 2012-09-28 21:07:36 -03:00
sysfs.c perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
sysfs.h perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
target.c perf tools: Replace mempcpy with memcpy 2012-09-05 19:35:21 -03:00
target.h perf target: Add uses_mmap field 2012-05-17 12:32:54 -03:00
thread.c perf tools: do not flush maps on COMM for perf report 2012-10-22 13:55:53 -02:00
thread.h perf kvm: Events analysis tool 2012-09-21 12:51:22 -03:00
thread_map.c perf tools: fix thread_map__new_by_pid_str() memory leak in error path 2012-05-25 11:40:59 -03:00
thread_map.h perf tools: Fix thread map that is type pid_t 2012-04-11 17:38:50 -03:00
tool.h perf tools: Save some loops using perf_evlist__id2evsel 2011-11-28 17:57:40 -02:00
top.c perf evlist: Introduce evsel list accessors 2012-08-15 10:14:18 -03:00
top.h perf tools: fix missing winsize definition 2012-09-07 22:07:32 -03:00
trace-event-info.c perf: Have perf use the new libtraceevent.a library 2012-04-25 13:28:48 +02:00
trace-event-parse.c perf tools: remove sscanf extension %as 2012-09-24 11:49:31 -03:00
trace-event-read.c perf tools: Stop using a global trace events description list 2012-06-27 13:08:42 -03:00
trace-event-scripting.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
trace-event.h perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
types.h perf tools: Add union u64_swap type for swapping u64 data 2012-05-22 12:50:25 -03:00
unwind.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
unwind.h perf tools: Convert to LIBUNWIND_SUPPORT 2012-10-02 17:56:01 -03:00
usage.c perf target: Introduce perf_target__parse_uid() 2012-05-07 16:46:48 -03:00
util.c perf tools: Convert to BACKTRACE_SUPPORT 2012-10-02 18:36:45 -03:00
util.h perf tools: include wrapper for magic.h 2012-09-11 11:38:10 -03:00
values.c perf tools: Fix a memory leak on perf_read_values_destroy 2011-12-20 13:41:34 -02:00
values.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
vdso.c perf tools: Back [vdso] DSO with real data 2012-09-11 12:08:30 -03:00
vdso.h perf tools: Back [vdso] DSO with real data 2012-09-11 12:08:30 -03:00
wrapper.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
xyarray.c perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00
xyarray.h perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00