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-next>] [day] [month] [year] [list]
Date:   Tue, 28 Nov 2017 10:08:53 +0800
From:   Zhang Rui <rui.zhang@...el.com>
To:     LKML <linux-kernel@...r.kernel.org>, linux-x86 <x86@...nel.org>,
        peterz@...radead.org, tglx@...utronix.de
Cc:     Len Brown <len.brown@...el.com>, "Chen, Yu C" <yu.c.chen@...el.com>
Subject: Regression: unable to boot after commit bd9240a18edf ("x86/apic:
 Add TSC_DEADLINE quirk due to errata") - Surface Pro 4 SKL

Hi, All,

My Surface Pro 4 is unable to boot after 4.12. The symptom is that
kernel freezes during boot, and the last message in the screen is
loading the initrd image. And I have bisected it to this commit

commit bd9240a18edfbfa72e957fc2ba831cf1f13ea073 (refs/bisect/bad)
Author:     Peter Zijlstra <peterz@...radead.org>
AuthorDate: Wed May 31 17:52:03 2017 +0200
Commit:     Thomas Gleixner <tglx@...utronix.de>
CommitDate: Sun Jun 4 21:55:53 2017 +0200

    x86/apic: Add TSC_DEADLINE quirk due to errata
    
    Due to errata it is possible for the TSC_DEADLINE timer to
misbehave
    after using TSC_ADJUST. A microcode update is available to fix this
    situation.
    
    Avoid using the TSC_DEADLINE timer if it is affected by this issue
and
    report the required microcode version.
    
    [ tglx: Renamed function to apic_check_deadline_errata() ]
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
    Cc: kevin.b.stanton@...el.com
    Link: http://lkml.kernel.org/r/20170531155306.050849877@infradead.o
rg
    Signed-off-by: Thomas Gleixner <tglx@...utronix.de>

Currently, I'm using v4.14 kernel with the following workaround on top.

---
 arch/x86/kernel/apic/apic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index ff89177..cd419d4 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -596,7 +596,7 @@ static const struct x86_cpu_id deadline_match[] = {
 	DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_BROADWELL_CORE,	0x25),
 	DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_BROADWELL_GT3E,	0x17),
 
-	DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_SKYLAKE_MOBILE,	0xb2),
+//	DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_SKYLAKE_MOBILE,	0xb2),
 	DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_SKYLAKE_DESKTOP,	0xb2),
 
 	DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_KABYLAKE_MOBILE,	0x52),
-- 
2.7.4

I'm reading the related code but have not figured out the root cause yet.
Anyone suggestions?

thanks,
rui

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ