OrangePi_CM5/tools/perf
Song Liu fbb91dadb5 perf script: Check session->header.env.arch before using it
commit 29c77550eef31b0d72a45b49eeab03b8963264e8 upstream.

When perf.data is not written cleanly, we would like to process existing
data as much as possible (please see f_header.data.size == 0 condition
in perf_session__read_header). However, perf.data with partial data may
crash perf. Specifically, we see crash in 'perf script' for NULL
session->header.env.arch.

Fix this by checking session->header.env.arch before using it to determine
native_arch. Also split the if condition so it is easier to read.

Committer notes:

If it is a pipe, we already assume is a native arch, so no need to check
session->header.env.arch.

Signed-off-by: Song Liu <songliubraving@fb.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: kernel-team@fb.com
Cc: stable@vger.kernel.org
Link: http://lore.kernel.org/lkml/20211004053238.514936-1-songliubraving@fb.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-11-02 19:48:25 +01:00
..
Documentation perf c2c: Update documentation for metrics reorganization 2020-10-15 12:02:12 -03:00
arch perf tools: Fix arm64 build error with gcc-11 2021-09-03 10:09:29 +02:00
bench perf bench inject-buildid: Handle writen() errors 2021-09-22 12:28:04 +02:00
examples/bpf
…
include/bpf
…
jvmti perf jvmti: Remove redundant jitdump line table entries 2020-05-29 16:51:38 -03:00
pmu-events perf jevents: Tidy error handling 2021-10-13 10:04:27 +02:00
python tweewide: Fix most Shebang lines 2021-05-22 11:40:55 +02:00
scripts perf scripts python: exported-sql-viewer.py: Fix warning display 2021-06-03 09:00:28 +02:00
tests perf test: Fix bpf test sample mismatch reporting 2021-09-26 14:08:57 +02:00
trace perf beauty: Update copy of linux/socket.h with the kernel sources 2021-06-23 14:42:54 +02:00
ui perf hists browser: Increase size of 'buf' in perf_evsel__hists_browse() 2020-11-03 09:11:45 -03:00
util perf tools: Allow build-id with trailing zeros 2021-09-26 14:08:57 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Build
…
CREDITS
…
MANIFEST
…
Makefile
…
Makefile.config perf unwind: Do not overwrite FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64} 2021-09-22 12:28:04 +02:00
Makefile.perf perf build: Fix ccache usage in $(CC) when generating arch errno table 2021-03-17 17:06:16 +01:00
builtin-annotate.c perf evsel: Rename perf_evsel__resort*() to evsel__resort*() 2020-05-28 10:03:24 -03:00
builtin-bench.c perf bench: Add build-id injection benchmark 2020-10-13 10:59:42 -03:00
builtin-buildid-cache.c perf tools: Pass build_id object to build_id__sprintf() 2020-10-14 08:46:22 -03:00
builtin-buildid-list.c
…
builtin-c2c.c perf c2c: Add metrics "RMT Load Hit" 2020-10-15 09:34:51 -03:00
builtin-config.c
…
builtin-data.c perf data: Add support to store time of day in CTF data conversion 2020-08-06 09:43:37 -03:00
builtin-diff.c perf diff: Fix error return value in __cmd_diff() 2020-11-27 14:21:23 -03:00
builtin-evlist.c perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() 2020-05-28 10:03:24 -03:00
builtin-ftrace.c perf ftrace: Fix access to pid in array when setting a pid filter 2021-05-07 11:04:31 +02:00
builtin-help.c
…
builtin-inject.c perf inject: Close inject.output on exit 2021-07-28 14:35:48 +02:00
builtin-kallsyms.c
…
builtin-kmem.c perf kmem: Pass additional arguments to 'perf record' 2020-07-10 09:37:55 -03:00
builtin-kvm.c perf evlist: Fix the class prefix for 'struct evlist' 'add' evsel methods 2020-06-22 16:28:09 -03:00
builtin-list.c perf list: Remove dead code in argument check 2020-09-09 11:12:10 -03:00
builtin-lock.c perf lock: Don't free "lock_seq_stat" if read_count isn't zero 2020-11-12 17:55:41 -03:00
builtin-mem.c perf c2c: Fix 'perf c2c record -e list' to show the default events used 2020-05-28 10:03:25 -03:00
builtin-probe.c perf probe: Do not show the skipped events 2020-05-28 10:03:24 -03:00
builtin-record.c perf record: Fix continue profiling after draining the buffer 2021-03-04 11:38:09 +01:00
builtin-report.c perf report: Free generated help strings for sort option 2021-07-28 14:35:35 +02:00
builtin-sched.c perf sched: Fix record failure when CONFIG_SCHEDSTATS is not set 2021-07-28 14:35:36 +02:00
builtin-script.c perf script: Check session->header.env.arch before using it 2021-11-02 19:48:25 +01:00
builtin-stat.c perf tools: Allow creation of cgroup without open 2020-09-28 09:18:06 -03:00
builtin-timechart.c perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
builtin-top.c perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set 2020-08-21 10:22:23 -03:00
builtin-trace.c perf trace: Fix segfault when trying to trace events by cgroup 2020-11-03 08:31:03 -03:00
builtin-version.c perf tools: Make GTK2 support opt-in 2020-09-04 17:11:59 -03:00
builtin.h
…
check-headers.sh perf tools: Separate the checking of headers only used to build beautification tables 2020-09-29 08:56:38 -03:00
command-list.txt
…
design.txt perf tools: Support CAP_PERFMON capability 2020-04-16 12:19:08 -03:00
perf-archive.sh
…
perf-completion.sh
…
perf-read-vdso.c
…
perf-sys.h perf tests: Call test_attr__open() directly 2020-09-10 11:55:37 -03:00
perf-with-kcore.sh
…
perf.c
…
perf.h
…