Adrian Hunter
de19e5c3c5
perf tools: Fix trigger class trigger_on()
...
trigger_on() means that the trigger is available but not ready, however
trigger_on() was making it ready. That can segfault if the signal comes
before trigger_ready(). e.g. (USR2 signal delivery not shown)
$ perf record -e intel_pt//u -S sleep 1
perf: Segmentation fault
Obtained 16 stack frames.
/home/ahunter/bin/perf(sighandler_dump_stack+0x40) [0x4ec550]
/lib/x86_64-linux-gnu/libc.so.6(+0x36caf) [0x7fa76411acaf]
/home/ahunter/bin/perf(perf_evsel__disable+0x26) [0x4b9dd6]
/home/ahunter/bin/perf() [0x43a45b]
/lib/x86_64-linux-gnu/libc.so.6(+0x36caf) [0x7fa76411acaf]
/lib/x86_64-linux-gnu/libc.so.6(__xstat64+0x15) [0x7fa7641d2cc5]
/home/ahunter/bin/perf() [0x4ec6c9]
/home/ahunter/bin/perf() [0x4ec73b]
/home/ahunter/bin/perf() [0x4ec73b]
/home/ahunter/bin/perf() [0x4ec73b]
/home/ahunter/bin/perf() [0x4eca15]
/home/ahunter/bin/perf(machine__create_kernel_maps+0x257) [0x4f0b77]
/home/ahunter/bin/perf(perf_session__new+0xc0) [0x4f86f0]
/home/ahunter/bin/perf(cmd_record+0x722) [0x43c132]
/home/ahunter/bin/perf() [0x4a11ae]
/home/ahunter/bin/perf(main+0x5d4) [0x427fb4]
Note, for testing purposes, this is hard to hit unless you add some sleep()
in builtin-record.c before record__open().
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: stable@vger.kernel.org
Fixes: 3dcc4436fa ("perf tools: Introduce trigger class")
Link: http://lkml.kernel.org/r/1519807144-30694-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2018-03-06 11:31:14 -03:00
..
arch
perf s390: Rework system call table creation by using syscall.tbl
2018-02-15 10:06:08 -03:00
bench
perf perf: Remove duplicate includes
2017-12-27 12:15:49 -03:00
Documentation
perf kallsyms: Fix the usage on the man page
2018-03-05 11:48:37 -03:00
jvmti
perf jvmti: Generate correct debug information for inlined code
2017-12-18 11:54:08 -03:00
pmu-events
perf vendor events aarch64: Add JSON metrics for ARM Cortex-A53 Processor
2018-02-15 09:49:44 -03:00
python
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
scripts
perf script python: Add script to profile and resolve physical mem type
2018-01-12 11:06:57 -03:00
tests
perf test: Fix test trace+probe_libc_inet_pton.sh for s390x
2018-02-15 09:57:47 -03:00
trace
perf trace beauty flock: Move to separate object file
2018-01-25 06:37:31 -03:00
ui
perf annotate browser: Be more robust when drawing jump arrows
2018-03-05 11:50:15 -03:00
util
perf tools: Fix trigger class trigger_on()
2018-03-06 11:31:14 -03:00
.gitignore
perf tools: Add trace/beauty/generated/ into .gitignore
2018-02-05 13:58:02 -03:00
Build
perf trace: Remove audit-libs dependency if syscall tables are present
2018-01-23 09:51:38 -03:00
builtin-annotate.c
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
builtin-bench.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
builtin-buildid-cache.c
perf buildid-cache: Update help text for purge command
2017-11-16 14:49:54 -03:00
builtin-buildid-list.c
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
builtin-c2c.c
perf hists browser: Add parameter to disable lost event warning
2018-02-15 09:56:26 -03:00
builtin-config.c
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01: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
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
builtin-evlist.c
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
builtin-ftrace.c
builtin-help.c
perf trace: Remove audit-libs dependency if syscall tables are present
2018-01-23 09:51:38 -03:00
builtin-inject.c
perf tools: Get rid of unused 'swapped' parameter from perf_event__synthesize_sample()
2018-01-18 09:01:23 -03:00
builtin-kallsyms.c
builtin-kmem.c
mm: remove __GFP_COLD
2017-11-15 18:21:06 -08:00
builtin-kvm.c
perf evlist: Remove fcntl.h from evlist.h
2018-01-25 06:37:30 -03:00
builtin-list.c
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
builtin-lock.c
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
builtin-mem.c
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
builtin-probe.c
builtin-record.c
perf record: Fix crash in pipe mode
2018-03-05 11:52:41 -03:00
builtin-report.c
perf hists browser: Add parameter to disable lost event warning
2018-02-15 09:56:26 -03:00
builtin-sched.c
Merge branch 'linus' into perf/core, to fix conflicts
2017-11-07 10:30:18 +01:00
builtin-script.c
perf evlist: Remove fcntl.h from evlist.h
2018-01-25 06:37:30 -03:00
builtin-stat.c
perf stat: Fix CVS output format for non-supported counters
2018-03-06 10:53:52 -03:00
builtin-timechart.c
perf tools: Add struct perf_data_file
2017-10-30 13:37:37 -03:00
builtin-top.c
perf top: Fix annoying fallback message on older kernels
2018-03-05 11:48:56 -03:00
builtin-trace.c
perf trace: Fix call-graph output
2018-02-05 13:53:45 -03:00
builtin-version.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
builtin.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
check-headers.sh
Revert "tools include s390: Grab a copy of arch/s390/include/uapi/asm/unistd.h"
2018-02-15 10:06:15 -03:00
command-list.txt
CREDITS
design.txt
Makefile
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
Makefile.config
perf tools: Integrating the CoreSight decoding library
2018-01-25 06:37:23 -03:00
Makefile.perf
tools: fix cross-compile var clobbering
2018-02-21 15:35:42 -08:00
MANIFEST
perf tools: Get all of tools/{arch,include}/ in the MANIFEST
2017-09-25 10:39:43 -03: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
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
perf-sys.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
perf-with-kcore.sh
perf.c
perf trace: Remove audit-libs dependency if syscall tables are present
2018-01-23 09:51:38 -03:00
perf.h
perf record: Fix crash in pipe mode
2018-03-05 11:52:41 -03:00