Re: 4.17.0-rc1 doesn't boot.

From: Mariusz Ceier
Date: Tue Apr 17 2018 - 13:48:21 EST


On 17 April 2018 at 18:48, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> wrote:
> On 04/17/2018 09:00 AM, Mike Galbraith wrote:
>> On Tue, 2018-04-17 at 17:31 +0200, Borislav Petkov wrote:
>>> On Tue, Apr 17, 2018 at 05:21:30PM +0200, JÃrg Otte wrote:
>>>> finished bisection.
>>>> 39114b7a743e6759bab4d96b7d9651d44d17e3f9 is the first bad commit
>>>> (x86/pti: Never implicitly clear _PAGE_GLOBAL for kernel image).
>>>
>>> Looks like you're not the only one:
>>>
>>> http://marc.info/?i=20180417150130.GA11166@xxxxxxxxxxxxxxxxxxxxxxxxxx
>>
>> I'm hitting this too, but only with PREEMPT_RT. I put a bandaid on it
>> (tell pti_kernel_image_global_ok() to return true for PREEMPT_RT) while
>> waiting to see if it was really really as non-rt as it appeared to be.
>
> It looks like pti_init() is too early for
> change_page_attr()/set_memory_nonglobal() because they look for
> irqs_off(). This *should* be OK in practice because we only need to
> flush the boot CPU, not the others. That's what ends up causing the
> BUG_ON().
>
> But, there's apparently something else going on too because things don't
> boot even with that BUG_ON() backed out.
>
> The good news is that its easy to reproduce.

I'm hitting the same bug on my PC. Git bisect points to the same
commit (39114b7a743e6759bab4d96b7d9651d44d17e3f9).
Afaik I don't use PREEMPT_RT, unless CONFIG_PREEMPT=y is the same as PREEMPT_RT.
I'm attaching my .config. My CPU is i5 6600.

Kernel seems to work in qemu when -enable-kvm and -cpu host are
removed from the qemu-system-x86_64 command line from the other
mailthread.


PS. Resending mail as plain-text (hopefully, who knows what insane
gmail does), sorry for the previous mail (please ignore it).

Attachment: .config.gz
Description: application/gzip