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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <37D7C6CF3E00A74B8858931C1DB2F0770589D336@SHSMSX103.ccr.corp.intel.com>
Date:	Wed, 24 Feb 2016 15:37:00 +0000
From:	"Liang, Kan" <kan.liang@...el.com>
To:	Thomas Gleixner <tglx@...utronix.de>,
	Tony Battersby <tonyb@...ernetics.com>
CC:	"Peter Zijlstra (Intel)" <peterz@...radead.org>,
	Arnaldo Carvalho de Melo <acme@...hat.com>,
	Jiri Olsa <jolsa@...hat.com>,
	Stephane Eranian <eranian@...gle.com>,
	Vince Weaver <vincent.weaver@...ne.edu>,
	Ingo Molnar <mingo@...hat.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: PROBLEM: lk 4.5 oops on boot with Xeon D-1520


I have no idea why the original email was redirected to Junk folder.
Sorry for the late response. 

I extended BDX-DE uncore code to support BDX-EP. So they share
the same code path. But there is no sbox in BDX-DE.
I once tried the BDX-EP patch on my BDX-DE, it boots fine.
But it looks it doesn't work well for all machines. :(

Could you please try the patch as below? It specially handles the
BDX-DE by removing SBOX support.

Thanks,
Kan


>From 7e09100dda852de7263ba569dcfba737668c828e Mon Sep 17 00:00:00 2001
From: Kan Liang <kan.liang@...el.com>
Date: Wed, 24 Feb 2016 05:07:43 -0500
Subject: [PATCH 1/1] x86/perf/intel/uncore: remove SBOX support for BDX-DE

BDX-DE and BDX-EP share the same uncore code path. But there is no sbox
in BDX-DE. This patch remove SBOX support for BDX-DE.

Signed-off-by: Kan Liang <kan.liang@...el.com>
---
 arch/x86/events/intel/uncore_snbep.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index 0c801f7..d967fcc 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -2874,11 +2874,13 @@ static struct intel_uncore_type bdx_uncore_sbox = {
 	.format_group		= &hswep_uncore_sbox_format_group,
 };
 
+#define BDX_MSR_UNCORE_SBOX	3
+
 static struct intel_uncore_type *bdx_msr_uncores[] = {
 	&bdx_uncore_ubox,
 	&bdx_uncore_cbox,
-	&bdx_uncore_sbox,
 	&hswep_uncore_pcu,
+	&bdx_uncore_sbox,
 	NULL,
 };
 
@@ -2887,6 +2889,10 @@ void bdx_uncore_cpu_init(void)
 	if (bdx_uncore_cbox.num_boxes > boot_cpu_data.x86_max_cores)
 		bdx_uncore_cbox.num_boxes = boot_cpu_data.x86_max_cores;
 	uncore_msr_uncores = bdx_msr_uncores;
+
+	/* BDX-DE doesn't have SBOX */
+	if (boot_cpu_data.x86_model == 86)
+		uncore_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL;
 }
 
 static struct intel_uncore_type bdx_uncore_ha = {
-- 
2.4.3


> 
> Added Liang to CC, preserved full mail for reference
> 
> On Wed, 17 Feb 2016, Tony Battersby wrote:
> 
> > The following commit in 4.5 is causing a general protection fault
> > during early boot:
> >
> > d6980ef32570 ("perf/x86/intel/uncore: Add Broadwell-EP uncore
> > support")
> >
> > With the commit reverted, the system boots fine.
> >
> > CPU:         Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > Motherboard: Supermicro X10SDV-4C-TLN2F
> >
> > The general protection fault occurs when
> > hswep_uncore_sbox_msr_init_box() calls wrmsrl().  I added a printk to
> > get the following values just before the oops:
> >
> > box->pmu->type->box_ctl     = 1824
> > box->pmu->pmu_idx           = 0
> > box->pmu->type->msr_offset  = 10
> > box->pmu->type->msr_offsets = NULL
> > msr                         = 1824
> > (all values are decimal)
> >
> > Here is the call trace:
> >   hswep_uncore_sbox_msr_init_box+0x7c/0xc0 (RIP)
> >   uncore_cpu_starting+0x8a/0x1c0
> >   ? uncore_change_context+0xe5/0x150
> >   ? uncore_types_init+0x1d6/0x1d6
> >   uncore_cpu_setup+0x10/0x12
> >   on_each_cpu+0x32/0x50
> >   intel_uncore_init+0x2e8/0x36d
> >   ? cstate_pmu_init+0x14f/0x195
> >   ? uncore_cpu_setup+0x12/0x12
> >
> > I have a jpg image of the monitor displaying the full oops; let me
> > know if anyone wants that.
> >
> > ----------
> >
> > /proc/cpuinfo:
> >
> > processor    : 0
> > vendor_id    : GenuineIntel
> > cpu family    : 6
> > model        : 86
> > model name    : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > stepping    : 2
> > microcode    : 0xa
> > cpu MHz        : 2200.000
> > tsc MHz        : 2199.998
> > cache size    : 6144 KB
> > physical id    : 0
> > siblings    : 8
> > core id        : 0
> > cpu cores    : 4
> > apicid        : 0
> > initial apicid    : 0
> > fpu        : yes
> > fpu_exception    : yes
> > cpuid level    : 20
> > 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 arch_perfmon pebs bts rep_good
> nopl
> > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
> monitor
> > ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1
> > sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
> > rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
> > flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms
> > invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
> dtherm arat pln pts
> > bugs        :
> > bogomips    : 4399.57
> > clflush size    : 64
> > cache_alignment    : 64
> > address sizes    : 46 bits physical, 48 bits virtual
> > power management:
> >
> > processor    : 1
> > vendor_id    : GenuineIntel
> > cpu family    : 6
> > model        : 86
> > model name    : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > stepping    : 2
> > microcode    : 0xa
> > cpu MHz        : 2200.000
> > tsc MHz        : 2199.998
> > cache size    : 6144 KB
> > physical id    : 0
> > siblings    : 8
> > core id        : 1
> > cpu cores    : 4
> > apicid        : 2
> > initial apicid    : 2
> > fpu        : yes
> > fpu_exception    : yes
> > cpuid level    : 20
> > 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 arch_perfmon pebs bts rep_good
> nopl
> > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
> monitor
> > ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1
> > sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
> > rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
> > flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms
> > invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
> dtherm arat pln pts
> > bugs        :
> > bogomips    : 4399.57
> > clflush size    : 64
> > cache_alignment    : 64
> > address sizes    : 46 bits physical, 48 bits virtual
> > power management:
> >
> > processor    : 2
> > vendor_id    : GenuineIntel
> > cpu family    : 6
> > model        : 86
> > model name    : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > stepping    : 2
> > microcode    : 0xa
> > cpu MHz        : 2200.000
> > tsc MHz        : 2199.998
> > cache size    : 6144 KB
> > physical id    : 0
> > siblings    : 8
> > core id        : 2
> > cpu cores    : 4
> > apicid        : 4
> > initial apicid    : 4
> > fpu        : yes
> > fpu_exception    : yes
> > cpuid level    : 20
> > 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 arch_perfmon pebs bts rep_good
> nopl
> > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
> monitor
> > ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1
> > sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
> > rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
> > flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms
> > invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
> dtherm arat pln pts
> > bugs        :
> > bogomips    : 4399.57
> > clflush size    : 64
> > cache_alignment    : 64
> > address sizes    : 46 bits physical, 48 bits virtual
> > power management:
> >
> > processor    : 3
> > vendor_id    : GenuineIntel
> > cpu family    : 6
> > model        : 86
> > model name    : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > stepping    : 2
> > microcode    : 0xa
> > cpu MHz        : 2200.000
> > tsc MHz        : 2199.998
> > cache size    : 6144 KB
> > physical id    : 0
> > siblings    : 8
> > core id        : 3
> > cpu cores    : 4
> > apicid        : 6
> > initial apicid    : 6
> > fpu        : yes
> > fpu_exception    : yes
> > cpuid level    : 20
> > 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 arch_perfmon pebs bts rep_good
> nopl
> > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
> monitor
> > ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1
> > sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
> > rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
> > flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms
> > invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
> dtherm arat pln pts
> > bugs        :
> > bogomips    : 4399.57
> > clflush size    : 64
> > cache_alignment    : 64
> > address sizes    : 46 bits physical, 48 bits virtual
> > power management:
> >
> > processor    : 4
> > vendor_id    : GenuineIntel
> > cpu family    : 6
> > model        : 86
> > model name    : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > stepping    : 2
> > microcode    : 0xa
> > cpu MHz        : 2200.000
> > tsc MHz        : 2199.998
> > cache size    : 6144 KB
> > physical id    : 0
> > siblings    : 8
> > core id        : 0
> > cpu cores    : 4
> > apicid        : 1
> > initial apicid    : 1
> > fpu        : yes
> > fpu_exception    : yes
> > cpuid level    : 20
> > 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 arch_perfmon pebs bts rep_good
> nopl
> > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
> monitor
> > ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1
> > sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
> > rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
> > flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms
> > invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
> dtherm arat pln pts
> > bugs        :
> > bogomips    : 4399.57
> > clflush size    : 64
> > cache_alignment    : 64
> > address sizes    : 46 bits physical, 48 bits virtual
> > power management:
> >
> > processor    : 5
> > vendor_id    : GenuineIntel
> > cpu family    : 6
> > model        : 86
> > model name    : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > stepping    : 2
> > microcode    : 0xa
> > cpu MHz        : 2200.000
> > tsc MHz        : 2199.998
> > cache size    : 6144 KB
> > physical id    : 0
> > siblings    : 8
> > core id        : 1
> > cpu cores    : 4
> > apicid        : 3
> > initial apicid    : 3
> > fpu        : yes
> > fpu_exception    : yes
> > cpuid level    : 20
> > 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 arch_perfmon pebs bts rep_good
> nopl
> > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
> monitor
> > ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1
> > sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
> > rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
> > flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms
> > invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
> dtherm arat pln pts
> > bugs        :
> > bogomips    : 4399.57
> > clflush size    : 64
> > cache_alignment    : 64
> > address sizes    : 46 bits physical, 48 bits virtual
> > power management:
> >
> > processor    : 6
> > vendor_id    : GenuineIntel
> > cpu family    : 6
> > model        : 86
> > model name    : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > stepping    : 2
> > microcode    : 0xa
> > cpu MHz        : 2200.000
> > tsc MHz        : 2199.998
> > cache size    : 6144 KB
> > physical id    : 0
> > siblings    : 8
> > core id        : 2
> > cpu cores    : 4
> > apicid        : 5
> > initial apicid    : 5
> > fpu        : yes
> > fpu_exception    : yes
> > cpuid level    : 20
> > 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 arch_perfmon pebs bts rep_good
> nopl
> > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
> monitor
> > ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1
> > sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
> > rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
> > flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms
> > invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
> dtherm arat pln pts
> > bugs        :
> > bogomips    : 4399.57
> > clflush size    : 64
> > cache_alignment    : 64
> > address sizes    : 46 bits physical, 48 bits virtual
> > power management:
> >
> > processor    : 7
> > vendor_id    : GenuineIntel
> > cpu family    : 6
> > model        : 86
> > model name    : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
> > stepping    : 2
> > microcode    : 0xa
> > cpu MHz        : 2200.000
> > tsc MHz        : 2199.998
> > cache size    : 6144 KB
> > physical id    : 0
> > siblings    : 8
> > core id        : 3
> > cpu cores    : 4
> > apicid        : 7
> > initial apicid    : 7
> > fpu        : yes
> > fpu_exception    : yes
> > cpuid level    : 20
> > 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 arch_perfmon pebs bts rep_good
> nopl
> > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64
> monitor
> > ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1
> > sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c
> > rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
> > flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms
> > invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
> dtherm arat pln pts
> > bugs        :
> > bogomips    : 4399.57
> > clflush size    : 64
> > cache_alignment    : 64
> > address sizes    : 46 bits physical, 48 bits virtual
> > power management:
> >
> > ----------
> >
> >

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ