1
linux/tools/perf
Stephane Eranian 3de29cab1f perf record: Fix bug mismatch with -c option definition
The -c option defines the user requested sampling period. It was implemented
using an unsigned int variable but the type of the option was OPT_LONG. Thus,
the option parser was overwriting memory belonging to other variables, namely
the mmap_pages leading to a zero page sampling buffer. The bug was exposed only
when compiling at -O0, probably because the compiler was padding variables at
higher optimization levels.

This patch fixes this problem by declaring user_interval as u64. This also
avoids wrap-around issues for large period on 32-bit systems.

Commiter note:

Made it use OPT_U64(user_interval) after implementing OPT_U64 in the
previous patch.

Cc: David S. Miller <davem@davemloft.net>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <4bf11ae9.e88cd80a.06b0.ffffa8e3@mx.google.com>
Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2010-05-17 12:23:18 -03:00
..
arch perf probe: Add PowerPC DWARF register number mappings 2010-04-22 13:48:31 +10:00
bench perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR() 2010-04-14 11:26:44 +02:00
Documentation perf trace scripts: Fix typos in perf-trace-python.txt 2010-05-13 17:10:40 -03:00
scripts perf/trace/scripting: syscall-counts script cleanup 2010-05-10 19:51:02 -03:00
util perf options: Introduce OPT_U64 2010-05-17 12:16:48 -03:00
.gitignore perf: Ignore perf-archive temp file 2010-01-29 10:37:33 +01:00
builtin-annotate.c perf hist: Make event__totals per hists 2010-05-14 10:36:42 -03:00
builtin-bench.c perf bench: Add "all" pseudo subsystem and "all" pseudo suite 2009-12-14 08:51:19 +01:00
builtin-buildid-cache.c perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR() 2010-04-14 11:26:44 +02:00
builtin-buildid-list.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-diff.c perf report: Report number of events, not samples 2010-05-14 14:19:35 -03:00
builtin-help.c perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR() 2010-04-14 11:26:44 +02:00
builtin-inject.c perf inject: Add missing bits 2010-05-04 10:48:22 -03:00
builtin-kmem.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-kvm.c perf: 'perf kvm' tool for monitoring guest performance from host 2010-04-19 12:37:24 +03:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-lock.c perf lock: Drop "-a" option from cmd_record() default arguments set 2010-05-09 21:52:27 +02:00
builtin-probe.c perf probe: Add --max-probes option 2010-04-26 15:35:20 -03:00
builtin-record.c perf record: Fix bug mismatch with -c option definition 2010-05-17 12:23:18 -03:00
builtin-report.c perf report: Report number of events, not samples 2010-05-14 14:19:35 -03:00
builtin-sched.c perf hist: Clarify events_stats fields usage 2010-05-14 13:16:55 -03:00
builtin-stat.c perf tools: change event inheritance logic in stat and record 2010-05-13 16:39:12 -03:00
builtin-test.c perf test: Initial regression testing command 2010-04-29 18:59:23 -03:00
builtin-timechart.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-top.c perf, x86: Improve the PEBS ABI 2010-05-07 11:31:02 +02:00
builtin-trace.c perf hist: Clarify events_stats fields usage 2010-05-14 13:16:55 -03:00
builtin.h perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
command-list.txt perf inject: Add missing bits 2010-05-04 10:48:22 -03:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf: Fix few typos + cosmetics 2010-01-13 17:39:44 +01:00
Makefile perf newt: Make <- zoom out filters 2010-05-14 20:05:21 -03:00
perf-archive.sh perf archive: Explain how to use the generated tarball 2010-03-23 20:33:08 +01:00
perf.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
perf.h perf: 'perf kvm' tool for monitoring guest performance from host 2010-04-19 12:37:24 +03:00