linux/tools/perf/util
Adrian Hunter 1dbfa9387b perf evlist: Fix mmap pages rounding to power of 2
'next_pow2()' only works for 'unsigned int' but the argument is
'unsigned long'.  Checking for values less than (1 << 31) ensures that
'next_pow2()' is not passed a value out of range but lets anything else
go through unvalidated.

As a result mmap_pages of zero is used e.g.

  perf record -v -m2147483649 uname
  mmap size 0B
  failed to mmap with 22 (Invalid argument)

Fixed:

  perf record -m2147483649 uname
  rounding mmap pages size to 17592186044416 bytes (4294967296 pages)
  Invalid argument for --mmap_pages/-m

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1386595120-22978-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2013-12-09 15:18:05 -03:00
..
include perf fs: Add procfs support 2013-11-05 15:15:07 -03:00
scripting-engines perf tools: Use an accessor to read thread comm 2013-11-04 11:50:28 -03:00
PERF-VERSION-GEN perf tools: Fix version when building out of tree 2013-11-07 10:40:47 -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 annotate: Find kcore symbols on other maps 2013-10-14 10:29:20 -03:00
annotate.h perf tools: Separate out GTK codes to libperf-gtk.so 2013-10-09 15:55:25 -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: Stop using 'self' in some more places 2013-10-23 09:55:37 -03:00
build-id.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
cache.h tools/perf: Turn strlcpy() into a __weak function 2013-10-09 08:48:49 +02:00
callchain.c perf callchain: Convert children list to rbtree 2013-10-21 17:33:23 -03:00
callchain.h Merge branch 'perf/urgent' into perf/core 2013-10-29 11:23:32 +01: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: Remove cast of non-variadic function to variadic 2013-11-01 10:40:51 -03:00
color.h perf tools: Remove cast of non-variadic function to variadic 2013-11-01 10:40:51 -03:00
comm.c perf tools: Get current comm instead of last one 2013-11-04 12:16:39 -03:00
comm.h perf tools: Get current comm instead of last one 2013-11-04 12:16:39 -03:00
config.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cpumap.c perf fs: Rename NAME_find_mountpoint() to NAME__mountpoint() 2013-11-05 15:15:00 -03:00
cpumap.h perf tools: Rename cpu_map__all() to cpu_map__empty() 2013-07-12 13:45:44 -03:00
ctype.c perf tools: ctype.c only wants util.h 2012-02-13 23:17:40 -02:00
data.c perf tools: Add perf_data_file__write interface 2013-12-02 09:22:46 -03:00
data.h perf tools: Add perf_data_file__write interface 2013-12-02 09:22:46 -03:00
debug.c perf tools: Overload pr_stat traceevent print function 2013-12-04 15:23:55 -03:00
debug.h perf tools: Overload pr_stat traceevent print function 2013-12-04 15:23:55 -03:00
dso.c perf tools: Do not disable source line lookup just because of 1 failure 2013-12-04 13:46:36 -03:00
dso.h perf tools: Do not disable source line lookup just because of 1 failure 2013-12-04 13:46:36 -03:00
dwarf-aux.c perf probe: Fix to find line information for probe list 2013-10-04 15:16:05 -03:00
dwarf-aux.h perf probe: Fix to find line information for probe list 2013-10-04 15:16:05 -03:00
environment.c
event.c perf thread: Move comm_list check into function 2013-11-27 14:58:37 -03:00
event.h perf record: Synthesize non-exec MMAP records when --data used 2013-11-11 15:56:39 -03:00
evlist.c perf evlist: Fix mmap pages rounding to power of 2 2013-12-09 15:18:05 -03:00
evlist.h perf target: Shorten perf_target__ to target__ 2013-11-12 16:51:03 -03:00
evsel.c perf tools: Add trace-event global object for tracepoint interface 2013-12-04 15:21:25 -03:00
evsel.h tools/perf/stat: Add event unit and scale support 2013-11-27 11:16:39 +01: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
fs.c perf fs: Add procfs support 2013-11-05 15:15:07 -03:00
fs.h perf fs: Add procfs support 2013-11-05 15:15:07 -03:00
generate-cmdlist.sh tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT 2013-10-09 08:48:28 +02:00
header.c perf tools: Add trace-event object 2013-12-04 15:20:52 -03:00
header.h perf header: Recognize version number for perf data file 2013-07-17 17:04:00 -03:00
help.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
help.h
hist.c perf hists: Consolidate __hists__add_*entry() 2013-11-04 20:59:09 -03:00
hist.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
hweight.c perf tools: Don't use code surrounded by __KERNEL__ 2010-05-02 12:00:44 -03:00
intlist.c perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
intlist.h perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
levenshtein.c
levenshtein.h
machine.c perf tools: Remove condition in machine__get_kernel_start_addr. 2013-12-04 13:46:36 -03:00
machine.h perf target: Shorten perf_target__ to target__ 2013-11-12 16:51:03 -03:00
map.c perf script: Add an option to print the source line number 2013-12-09 14:47:15 -03:00
map.h perf script: Add an option to print the source line number 2013-12-09 14:47:15 -03:00
pager.c perf tools: Fix pager on minimal-install embedded systems 2012-05-30 15:10:39 -03:00
parse-events.c tools/perf/stat: Add event unit and scale support 2013-11-27 11:16:39 +01:00
parse-events.h perf parse events: Demystify memory allocations 2013-07-12 13:52:05 -03:00
parse-events.l perf tools: Move start conditions to start of the flex file 2013-10-11 12:17:31 -03:00
parse-events.y perf parse events: Demystify memory allocations 2013-07-12 13:52:05 -03:00
parse-options.c perf tools: Add option macro OPT_BOOLEAN_SET 2013-11-27 14:58:36 -03:00
parse-options.h perf tools: Add option macro OPT_BOOLEAN_SET 2013-11-27 14:58:36 -03:00
path.c tools/perf: Turn strlcpy() into a __weak function 2013-10-09 08:48:49 +02:00
perf_regs.h tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT 2013-10-09 08:48:28 +02:00
pmu.c tools/perf/stat: Add event unit and scale support 2013-11-27 11:16:39 +01:00
pmu.h tools/perf/stat: Add event unit and scale support 2013-11-27 11:16:39 +01: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: Fix build with bison 2.3 and older. 2013-02-14 16:12:34 -03:00
probe-event.c perf probe: Support "$vars" meta argument syntax for local variables 2013-10-23 09:55:37 -03:00
probe-event.h perf probe: Provide perf interface for uprobes 2012-05-11 13:58:17 -03:00
probe-finder.c perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
probe-finder.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
pstack.c perf tools: Stop using 'self' in pstack 2012-11-14 16:50:38 -03:00
pstack.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
python-ext-sources perf tools: Add trace-event object 2013-12-04 15:20:52 -03:00
python.c Merge branch 'perf/urgent' into perf/core 2013-10-29 11:23:32 +01: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 util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
rblist.h perf util: Add findnew method to intlist 2013-10-14 10:28:48 -03:00
record.c perf tools: Check maximum frequency rate for record/top 2013-11-05 15:15:08 -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 script: Add an option to print the source line number 2013-12-09 14:47:15 -03:00
session.h perf script: Add an option to print the source line number 2013-12-09 14:47:15 -03:00
setup.py perf tools: Merge all *CFLAGS* make variable into CFLAGS 2013-05-30 16:12:03 +03: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: Prevent condition that all sort keys are elided 2013-11-11 15:56:40 -03:00
sort.h perf tools: Remove unneeded include 2013-11-07 11:51:19 -03:00
srcline.c perf tools: Do not disable source line lookup just because of 1 failure 2013-12-04 13:46:36 -03:00
stat.c perf stats: Add max and min stats 2013-08-07 17:35:26 -03:00
stat.h perf stats: Add max and min stats 2013-08-07 17:35:26 -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 tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
strfilter.h perf tools: Finish the removal of 'self' arguments 2013-11-05 15:32:36 -03:00
string.c perf tools: Default to cpu// for events v5 2013-07-12 13:53:52 -03:00
strlist.c perf probe: Fix segfault 2013-03-13 17:00:33 -03:00
strlist.h perf tools: Stop using 'self' in strlist 2013-01-25 12:49:28 -03:00
svghelper.c perf timechart: Add backtrace support 2013-11-27 14:58:37 -03:00
svghelper.h perf timechart: Add backtrace support 2013-11-27 14:58:37 -03:00
symbol-elf.c perf symbols: Fix a mmap and munmap mismatched bug 2013-10-14 12:21:23 -03:00
symbol-minimal.c perf symbols: Fix random fd closing with no libelf 2013-12-04 15:08:19 -03:00
symbol.c perf symbols: Retain symbol source file name to lookup source line numbers 2013-12-04 13:46:36 -03:00
symbol.h perf tools: Export setup_list 2013-11-27 14:58:38 -03:00
target.c perf record: Make per-cpu mmaps the default. 2013-11-27 14:58:36 -03:00
target.h perf target: Move the checking of which map function to call into function. 2013-12-04 13:46:37 -03:00
thread.c perf tools: Tag thread comm as overriden 2013-11-19 10:33:29 -03:00
thread.h perf thread: Move comm_list check into function 2013-11-27 14:58:37 -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 evlist: Add thread_map__nr() helper 2013-03-15 13:06:02 -03:00
tool.h perf tools: Add attr->mmap2 support 2013-09-11 10:09:32 -03:00
top.c perf target: Shorten perf_target__ to target__ 2013-11-12 16:51:03 -03:00
top.h perf top: Add --max-stack option to limit callchain stack scan 2013-10-21 17:36:25 -03:00
trace-event-info.c perf util: No need to call read_trace_init() in tracing_data_header() 2013-07-12 13:52:31 -03:00
trace-event-parse.c perf tools: Add trace-event object 2013-12-04 15:20:52 -03:00
trace-event-read.c perf tools: Add trace-event object 2013-12-04 15:20:52 -03:00
trace-event-scripting.c perf script: Fix named threads support 2013-07-22 11:55:53 -03:00
trace-event.c perf tools: Add trace-event global object for tracepoint interface 2013-12-04 15:21:25 -03:00
trace-event.h perf tools: Add trace-event global object for tracepoint interface 2013-12-04 15:21:25 -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 symbols: Limit max callchain using max_stack on DWARF unwinding too 2013-11-14 16:00:23 -03:00
unwind.h perf symbols: Limit max callchain using max_stack on DWARF unwinding too 2013-11-14 16:00:23 -03:00
usage.c perf target: Introduce perf_target__parse_uid() 2012-05-07 16:46:48 -03:00
util.c perf tools: Add filename__read_str util function 2013-12-04 15:20:12 -03:00
util.h perf evlist: Fix mmap pages rounding to power of 2 2013-12-09 15:18:05 -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
vdso.c perf symbols: Fix vdso list searching 2013-07-08 17:59:07 -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