linux-sg2042/tools/perf
Arnaldo Carvalho de Melo 57fc032ad6 perf session: Avoid infinite loop when seeing invalid header.size
Vince reported that when fuzzing the userland perf tool with a bogus
perf.data file he got into a infinite loop in 'perf report'.

Changing the return of fetch_mmaped_event() to ERR_PTR(-EINVAL) for that
case gets us out of that infinite loop.

Reported-by: Vince Weaver <vincent.weaver@maine.edu>
Tested-by: Vince Weaver <vincent.weaver@maine.edu>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20190726211415.GE24867@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-08-12 16:26:02 -03:00
..
Documentation perf tools: Fix a typo in a variable name in the Documentation Makefile 2019-08-08 15:41:10 -03:00
arch Merge remote-tracking branch 'torvalds/master' into perf/core 2019-08-12 16:25:00 -03:00
bench Merge remote-tracking branch 'torvalds/master' into perf/core 2019-08-12 16:25:00 -03:00
examples/bpf perf trace beauty: Add BPF augmenter for the 'rename' syscall 2019-07-29 18:34:42 -03:00
include/bpf perf include bpf: Add bpf_tail_call() prototype 2019-07-29 18:34:40 -03:00
jvmti tools build: Check if gettid() is available before providing helper 2019-07-07 17:53:09 -03:00
lib libperf: Initial documentation 2019-07-29 18:34:47 -03:00
pmu-events Merge remote-tracking branch 'torvalds/master' into perf/core 2019-08-12 16:25:00 -03:00
python treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 407 2019-06-05 17:37:14 +02:00
scripts perf scripts python: export-to-postgresql.py: Export switch events 2019-07-10 13:05:12 -03:00
tests libperf: Adopt perf_evsel__read() function from tools/perf 2019-07-29 18:34:46 -03:00
trace tools perf beauty: Fix usbdevfs_ioctl table generator to handle _IOC() 2019-07-29 09:03:42 -03:00
ui Merge remote-tracking branch 'torvalds/master' into perf/core 2019-08-12 16:25:00 -03:00
util perf session: Avoid infinite loop when seeing invalid header.size 2019-08-12 16:26:02 -03:00
.gitignore perf tools: Add trace/beauty/generated/ into .gitignore 2018-02-05 13:58:02 -03:00
Build perf tools: Rename build libperf to perf 2019-02-14 15:18:08 -03:00
CREDITS
MANIFEST tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
Makefile perf tools: Disable parallelism for 'make clean' 2018-08-20 08:54:58 -03:00
Makefile.config libperf: Make libperf.a part of the perf build 2019-07-29 18:34:43 -03:00
Makefile.perf libperf: Add libperf to the python.so build 2019-07-29 18:34:44 -03:00
builtin-annotate.c perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
builtin-bench.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
builtin-buildid-cache.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-buildid-list.c perf data: Add global path holder 2019-02-22 16:52:07 -03:00
builtin-c2c.c perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
builtin-config.c perf tools: Add missing headers, mostly stdlib.h 2019-07-09 10:13:22 -03:00
builtin-data.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
builtin-diff.c perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
builtin-evlist.c libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel 2019-07-29 18:34:45 -03:00
builtin-ftrace.c Merge remote-tracking branch 'torvalds/master' into perf/core 2019-08-12 16:25:00 -03:00
builtin-help.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
builtin-inject.c libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel 2019-07-29 18:34:45 -03:00
builtin-kallsyms.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 251 2019-06-05 17:30:26 +02:00
builtin-kmem.c perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
builtin-kvm.c libperf: Add threads to struct perf_evlist 2019-07-29 18:34:45 -03:00
builtin-list.c perf list: Output tool events 2019-04-01 14:49:25 -03:00
builtin-lock.c perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
builtin-mem.c perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
builtin-probe.c perf probe: Avoid calling freeing routine multiple times for same pointer 2019-07-23 09:04:41 -03:00
builtin-record.c libperf: Add threads to struct perf_evlist 2019-07-29 18:34:45 -03:00
builtin-report.c libperf: Move nr_members from perf's evsel to libperf's perf_evsel 2019-07-29 18:34:46 -03:00
builtin-sched.c libperf: Add perf_cpu_map__new()/perf_cpu_map__read() functions 2019-07-29 18:34:45 -03:00
builtin-script.c libperf: Move nr_members from perf's evsel to libperf's perf_evsel 2019-07-29 18:34:46 -03:00
builtin-stat.c libperf: Move nr_members from perf's evsel to libperf's perf_evsel 2019-07-29 18:34:46 -03:00
builtin-timechart.c libperf: Move perf_event_attr field from perf's evsel to libperf's perf_evsel 2019-07-29 18:34:45 -03:00
builtin-top.c libperf: Adopt xyarray class from perf 2019-07-29 18:34:45 -03:00
builtin-trace.c libperf: Adopt simplified perf_evsel__close() function from tools/perf 2019-07-29 18:34:46 -03:00
builtin-version.c perf version: Fix segfault due to missing OPT_END() 2019-07-15 07:59:05 -03:00
builtin.h perf script: Add array bound checking to list_scripts 2019-03-11 16:33:19 -03:00
check-headers.sh tools perf: Move from sane_ctype.h obtained from git to the Linux's original 2019-06-25 21:02:47 -03:00
command-list.txt perf help: Add missing subcommand `version` 2018-09-19 14:53:36 -03:00
design.txt perf/doc: Update design.txt for exclude_{host|guest} flags 2019-01-21 11:01:18 +01:00
perf-archive.sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf-completion.sh perf tools: Auto-complete for events with ':' 2017-12-27 12:16:00 -03:00
perf-read-vdso.c perf tools: Make find_vdso_map() more modular 2019-01-08 13:28:13 -03:00
perf-sys.h Drop a bunch of metag references 2018-02-23 14:29:59 +00:00
perf-with-kcore.sh Merge branch 'x86/cpu' into perf/core, to pick up dependent changes 2019-06-17 12:29:16 +02:00
perf.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
perf.h perf tools: Increase MAX_NR_CPUS and MAX_CACHES 2019-06-25 08:47:10 -03:00