lkml.org 
[lkml]   [2017]   [Dec]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: 4.14.9 with CONFIG_MCORE2 fails to boot
    From
    Date
    В Пт, 29/12/2017 в 10:17 +0100, Greg KH пишет:
    > On Thu, Dec 28, 2017 at 12:33:22PM +0300, Alexander Tsoy wrote:
    > > Hello,
    > >
    > > 4.14.9 fails to boot if CONFIG_MCORE2 is enabled and when compiled
    > > with
    > > gcc 6+. More details in the following bug reports:
    > > https://bugzilla.kernel.org/show_bug.cgi?id=198263
    > > https://bugs.gentoo.org/642268
    > >
    > > I bisected it to the commit below:
    > >
    > > $ git bisect good
    > > 2bc9fa0beaf10206a778f02e9e5cb62f50345b1a is the first bad commit
    > > commit 2bc9fa0beaf10206a778f02e9e5cb62f50345b1a
    > > Author: Andy Lutomirski <luto@kernel.org>
    > > Date:   Mon Dec 4 15:07:23 2017 +0100
    > >
    > >     x86/entry/64: Use a per-CPU trampoline stack for IDT entries
    > >
    > >     commit 7f2590a110b837af5679d08fc25c6227c5a8c497 upstream.
    > >
    > >     Historically, IDT entries from usermode have always gone
    > > directly
    > >     to the running task's kernel stack.  Rearrange it so that we
    > > enter
    > > on
    > >     a per-CPU trampoline stack and then manually switch to the
    > > task's
    > > stack.
    > >     This touches a couple of extra cachelines, but it gives us a
    > > chance
    > >     to run some code before we touch the kernel stack.
    > >
    > >     The asm isn't exactly beautiful, but I think that fully
    > > refactoring
    > >     it can wait.
    > >
    > >     Signed-off-by: Andy Lutomirski <luto@kernel.org>
    > >     Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    > >     Reviewed-by: Borislav Petkov <bp@suse.de>
    > >     Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    > >     Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    > >     Cc: Borislav Petkov <bp@alien8.de>
    > >     Cc: Borislav Petkov <bpetkov@suse.de>
    > >     Cc: Brian Gerst <brgerst@gmail.com>
    > >     Cc: Dave Hansen <dave.hansen@intel.com>
    > >     Cc: Dave Hansen <dave.hansen@linux.intel.com>
    > >     Cc: David Laight <David.Laight@aculab.com>
    > >     Cc: Denys Vlasenko <dvlasenk@redhat.com>
    > >     Cc: Eduardo Valentin <eduval@amazon.com>
    > >     Cc: Greg KH <gregkh@linuxfoundation.org>
    > >     Cc: H. Peter Anvin <hpa@zytor.com>
    > >     Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    > >     Cc: Juergen Gross <jgross@suse.com>
    > >     Cc: Linus Torvalds <torvalds@linux-foundation.org>
    > >     Cc: Peter Zijlstra <peterz@infradead.org>
    > >     Cc: Rik van Riel <riel@redhat.com>
    > >     Cc: Will Deacon <will.deacon@arm.com>
    > >     Cc: aliguori@amazon.com
    > >     Cc: daniel.gruss@iaik.tugraz.at
    > >     Cc: hughd@google.com
    > >     Cc: keescook@google.com
    > >     Link: https://lkml.kernel.org/r/20171204150606.225330557@linutr
    > > onix
    > > .de
    > >     Signed-off-by: Ingo Molnar <mingo@kernel.org>
    > >     Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    > >
    > > :040000 040000 275d4746936a9e521a2b5041856f7dc1d1820dc6
    > > 8f8e869fd59c3dd781dceffa76e53e41d733a0cf M      arch
    > >
    > > $ git bisect log
    > > git bisect start
    > > # bad: [dad5c1402c570cd07a80113784bc20a7f930c8ae] Linux 4.14.9
    > > git bisect bad dad5c1402c570cd07a80113784bc20a7f930c8ae
    > > # good: [7b3775017f4e6b87dfd2c7f63d1eaf057948f31d] Linux 4.14.8
    > > git bisect good 7b3775017f4e6b87dfd2c7f63d1eaf057948f31d
    > > # good: [d120cd749ef9770ee98b708a83b49547dcf1c0e1] x86/entry/64:
    > > Separate cpu_current_top_of_stack from TSS.sp0
    > > git bisect good d120cd749ef9770ee98b708a83b49547dcf1c0e1
    > > # bad: [97f41b41c432e5a80c91445d92c2f4b729984d36] powerpc/xmon:
    > > Avoid
    > > tripping SMP hardlockup watchdog
    > > git bisect bad 97f41b41c432e5a80c91445d92c2f4b729984d36
    > > # bad: [bfd66a406fe7e590055c1d6714adc697f18664c8] PCI: Avoid bus
    > > reset
    > > if bridge itself is broken
    > > git bisect bad bfd66a406fe7e590055c1d6714adc697f18664c8
    > > # bad: [8388d287e361a2fd0a39bece30a736d692d5c3d8] x86/cpufeatures:
    > > Make
    > > CPU bugs sticky
    > > git bisect bad 8388d287e361a2fd0a39bece30a736d692d5c3d8
    > > # bad: [bb568391775d4a840992e2d2493f39d6e86401e3] x86/entry/64:
    > > Move
    > > the IST stacks into struct cpu_entry_area
    > > git bisect bad bb568391775d4a840992e2d2493f39d6e86401e3
    > > # bad: [2bc9fa0beaf10206a778f02e9e5cb62f50345b1a] x86/entry/64: Use
    > > a
    > > per-CPU trampoline stack for IDT entries
    > > git bisect bad 2bc9fa0beaf10206a778f02e9e5cb62f50345b1a
    > > # good: [c3dbef1bd0f7eb09daf49409ea533aa1b0eeb82e] x86/espfix/64:
    > > Stop
    > > assuming that pt_regs is on the entry stack
    > > git bisect good c3dbef1bd0f7eb09daf49409ea533aa1b0eeb82e
    > > # first bad commit: [2bc9fa0beaf10206a778f02e9e5cb62f50345b1a]
    > > x86/entry/64: Use a per-CPU trampoline stack for IDT entries
    >
    > Thanks for letting us know.  Does Linus's current tree also have this
    > same problem for you?

    Just tested Linus's master branch and it have the same problem. All I
    can catch with a serial console is the following:

    [    0.000000] ACPI BIOS Warning[    0.498898] Expanded resource
    conflict with PCI Bus 0000:00

    \
     
     \ /
      Last update: 2017-12-29 15:33    [W:3.006 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site