lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YSS+KbILtcwomsN4@krava>
Date:   Tue, 24 Aug 2021 11:38:49 +0200
From:   Jiri Olsa <jolsa@...hat.com>
To:     Adrian Hunter <adrian.hunter@...el.com>
Cc:     Arnaldo Carvalho de Melo <acme@...nel.org>,
        linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
        Peter Zijlstra <peterz@...radead.org>
Subject: Re: intel_pt crash on alderlake

On Mon, Aug 23, 2021 at 08:14:48PM +0200, Jiri Olsa wrote:
> On Mon, Aug 23, 2021 at 08:53:32PM +0300, Adrian Hunter wrote:
> > On 23/08/21 8:08 pm, Jiri Olsa wrote:
> > > hi,
> > > should intel_pt work on alderlake? I'm getting strange crash:
> > > (cpuinfo and uname below)
> > > 
> > > 	[root@...el-alderlake-m-02 perf]# ./perf record -e 'intel_pt//' --overwrite 
> > 
> > The segfault is related --overwrite not Alderlake.
> 
> ok, now I see that failing also on other server.. was too fast sry

any idea of quick fix before I dive in? ;-)
seems like permissions changed on the first mmap page for some reason

thanks,
jirka

> 
> > 
> > Although I am not sure --overwrite make sense for Intel PT since we have snapshot mode i.e. --snapshot
> 
> it's for kdump to get the inte_pt data after crash
> 
> thanks,
> jirka
> 
> > 
> > > 	perf: Segmentation fault
> > > 	Obtained 16 stack frames.
> > > 	./perf() [0x53b6eb]
> > > 	./perf() [0x53b7cb]
> > > 	./perf() [0x429b30]
> > > 	/lib64/libc.so.6(+0x37400) [0x7f7b144db400]
> > > 	./perf() [0x5a6fc8]
> > > 	./perf() [0x505caa]
> > > 	./perf() [0x4f39ca]
> > > 	./perf() [0x646879]
> > > 	./perf() [0x646b57]
> > > 	./perf() [0x646da0]
> > > 	./perf() [0x4f3eec]
> > > 	./perf() [0x42a533]
> > > 	./perf() [0x42a644]
> > > 	./perf() [0x42aa72]
> > > 	./perf() [0x42c915]
> > > 	./perf() [0x42ecc3]
> > > 	Segmentation fault (core dumped)
> > > 
> > > 
> > > 	[root@...el-alderlake-m-02 perf]# gdb ./perf
> > > 	GNU gdb (GDB) Red Hat Enterprise Linux 8.2-15.el8
> > > 	Copyright (C) 2018 Free Software Foundation, Inc.
> > > 	License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> > > 	This is free software: you are free to change and redistribute it.
> > > 	There is NO WARRANTY, to the extent permitted by law.
> > > 	Type "show copying" and "show warranty" for details.
> > > 	This GDB was configured as "x86_64-redhat-linux-gnu".
> > > 	Type "show configuration" for configuration details.
> > > 	For bug reporting instructions, please see:
> > > 	<http://www.gnu.org/software/gdb/bugs/>.
> > > 	Find the GDB manual and other documentation resources online at:
> > > 	    <http://www.gnu.org/software/gdb/documentation/>.
> > > 
> > > 	For help, type "help".
> > > 	Type "apropos word" to search for commands related to "word"...
> > > 	Reading symbols from ./perf...done.
> > > 	(gdb) r record -e 'intel_pt//' --overwrite
> > > 	Starting program: /root/linux/tools/perf/perf record -e 'intel_pt//' --overwrite
> > > 	[Thread debugging using libthread_db enabled]
> > > 	Using host libthread_db library "/lib64/libthread_db.so.1".
> > > 
> > > 	Program received signal SIGSEGV, Segmentation fault.
> > > 	0x00000000005a6fc8 in auxtrace_mmap__mmap (mm=0x7ffff7e9c060, mp=0x7fffffff7588, userpg=0x7ffff7e0b000, fd=5) at util/auxtrace.c:133
> > > 	133             pc->aux_offset = mp->offset;
> > > 	Missing separate debuginfos, use: yum debuginfo-install brotli-1.0.6-3.el8.x86_64 bzip2-libs-1.0.6-26.el8.x86_64 cyrus-sasl-lib-2.1.27-5.el8.x86_64 elfutils-debuginfod-client-0.185-1.el8.x86_64 elfutils-libelf-0.185-1.el8.x86_64 elfutils-libs-0.185-1.el8.x86_64 glib2-2.56.4-156.el8.x86_64 gmp-6.1.2-10.el8.x86_64 gnutls-3.6.16-4.el8.x86_64 keyutils-libs-1.5.10-9.el8.x86_64 libbabeltrace-1.5.4-3.el8.x86_64 libbpf-0.3.0-1.el8.x86_64 libcap-2.26-4.el8.x86_64 libcom_err-1.45.6-2.el8.x86_64 libcurl-7.61.1-18.el8.x86_64 libffi-3.1-22.el8.x86_64 libidn2-2.2.0-1.el8.x86_64 libpsl-0.20.2-6.el8.x86_64 libselinux-2.9-5.el8.x86_64 libssh-0.9.4-3.el8.x86_64 libtasn1-4.13-3.el8.x86_64 libunistring-0.9.9-3.el8.x86_64 libuuid-2.32.1-28.el8.x86_64 libxcrypt-4.1.1-6.el8.x86_64 libzstd-1.4.4-1.el8.x86_64 numactl-libs-2.0.12-13.el8.x86_64 openldap-2.4.46-17.el8.x86_64 openssl-libs-1.1.1k-4.el8.x86_64 p11-kit-0.23.22-1.el8.x86_64 pcre-8.42-6.el8.x86_64 pcre2-10.32-2.el8.x86_64 perl-libs-5.26.3-420.el8.x86_64 popt-1.18-1.el8.x86_64 slang-2.3.2-3.el8.x86_64 xz-libs-5.2.4-3.el8.x86_64
> > > 	(gdb) bt
> > > 	#0  0x00000000005a6fc8 in auxtrace_mmap__mmap (mm=0x7ffff7e9c060, mp=0x7fffffff7588, userpg=0x7ffff7e0b000, fd=5) at util/auxtrace.c:133
> > > 	#1  0x0000000000505caa in mmap__mmap (map=0x7ffff7e8c010, mp=0x7fffffff7570, fd=5, cpu=0) at util/mmap.c:306
> > > 	#2  0x00000000004f39ca in perf_evlist__mmap_cb_mmap (_map=0x7ffff7e8c010, _mp=0x7fffffff7570, output=5, cpu=0) at util/evlist.c:807
> > > 	#3  0x0000000000646879 in mmap_per_evsel (evlist=0xf1c7d0, ops=0x7fffffff7550, idx=0, mp=0x7fffffff7570, cpu_idx=0, thread=0, _output=0x7fffffff7480, _output_overwrite=0x7fffffff7484) at evlist.c:477
> > > 	#4  0x0000000000646b57 in mmap_per_cpu (evlist=0xf1c7d0, ops=0x7fffffff7550, mp=0x7fffffff7570) at evlist.c:550
> > > 	#5  0x0000000000646da0 in perf_evlist__mmap_ops (evlist=0xf1c7d0, ops=0x7fffffff7550, mp=0x7fffffff7570) at evlist.c:602
> > > 	#6  0x00000000004f3eec in evlist__mmap_ex (evlist=0xf1c7d0, pages=4294967295, auxtrace_pages=1024, auxtrace_overwrite=false, nr_cblocks=0, affinity=0, flush=1, comp_level=0) at util/evlist.c:959
> > > 	#7  0x000000000042a533 in record__mmap_evlist (rec=0xc8b580 <record>, evlist=0xf1c7d0) at builtin-record.c:854
> > > 	#8  0x000000000042a644 in record__mmap (rec=0xc8b580 <record>) at builtin-record.c:881
> > > 	#9  0x000000000042aa72 in record__open (rec=0xc8b580 <record>) at builtin-record.c:963
> > > 	#10 0x000000000042c915 in __cmd_record (rec=0xc8b580 <record>, argc=0, argv=0x7fffffffddf0) at builtin-record.c:1717
> > > 	#11 0x000000000042ecc3 in cmd_record (argc=0, argv=0x7fffffffddf0) at builtin-record.c:2897
> > > 	#12 0x00000000004d7143 in run_builtin (p=0xca33d8 <commands+216>, argc=4, argv=0x7fffffffddf0) at perf.c:313
> > > 	#13 0x00000000004d73b0 in handle_internal_command (argc=4, argv=0x7fffffffddf0) at perf.c:365
> > > 	#14 0x00000000004d74f7 in run_argv (argcp=0x7fffffffdc4c, argv=0x7fffffffdc40) at perf.c:409
> > > 	#15 0x00000000004d78c3 in main (argc=4, argv=0x7fffffffddf0) at perf.c:539
> > > 	(gdb) p *pc
> > > 	$1 = {version = 0, compat_version = 0, lock = 2, index = 0, offset = 0, time_enabled = 0, time_running = 0, {capabilities = 26, {cap_bit0 = 0, cap_bit0_is_deprecated = 1, cap_user_rdpmc = 0, cap_user_time = 1, 
> > > 	      cap_user_time_zero = 1, cap_user_time_short = 0, cap_____res = 0}}, pmc_width = 48, time_shift = 31, time_mult = 2663050159, time_offset = 18446743875728538161, time_zero = 18446743981699475147, 
> > > 	  size = 96, __reserved_1 = 0, time_cycles = 0, time_mask = 0, __reserved = '\000' <repeats 927 times>, data_head = 0, data_tail = 0, data_offset = 4096, data_size = 524288, aux_head = 0, aux_tail = 0, 
> > > 	  aux_offset = 0, aux_size = 0}
> > > 	(gdb) p *mp
> > > 	$2 = {mask = 4194303, offset = 528384, len = 4194304, prot = 3, idx = 0, tid = -1, cpu = 0}
> > > 	(gdb) 
> > > 
> > > 
> > > any idea? thanks,
> > > jirka
> > > 
> > > 
> > > ----
> > > [jolsa@...va linus-pure]$ cat /proc/cpuinfo 
> > > processor       : 0
> > > vendor_id       : GenuineIntel
> > > cpu family      : 6
> > > model           : 142
> > > model name      : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
> > > stepping        : 10
> > > microcode       : 0xea
> > > cpu MHz         : 2100.000
> > > cache size      : 8192 KB
> > > physical id     : 0
> > > siblings        : 8
> > > core id         : 0
> > > cpu cores       : 4
> > > apicid          : 0
> > > initial apicid  : 0
> > > fpu             : yes
> > > fpu_exception   : yes
> > > cpuid level     : 22
> > > wp              : yes
> > > flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
> > > vmx flags       : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple shadow_vmcs pml ept_mode_based_exec
> > > bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit srbds
> > > bogomips        : 4199.88
> > > clflush size    : 64
> > > cache_alignment : 64
> > > address sizes   : 39 bits physical, 48 bits virtual
> > > power management:
> > > 
> > > [root@...el-alderlake-m-02 linux]# uname -a
> > > Linux intel-alderlake-m-02.ml3.eng.bos.redhat.com 5.14.0-rc6+ #1 SMP Fri Aug 20 09:27:39 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux
> > > 
> > 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ