On 11.07.19 12:25, Richard Weinberger wrote: > On Thu, Jul 11, 2019 at 12:21 PM Jan Kiszka <jan.kis...@siemens.com> wrote: >> Can't reproduce so far, even with a while-true loop. Can you share your >> .config? > > Sure, see attachment. >
This seems to fix the issue here: diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S index 119fd66d111e..8f647c208cf2 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -997,8 +997,8 @@ apicinterrupt IRQ_WORK_VECTOR irq_work_interrupt smp_irq_work_interrupt \skip_label: UNWIND_HINT_REGS DISABLE_INTERRUPTS(CLBR_ANY) - testl %ebx, %ebx /* %ebx: return to kernel mode */ - jnz retint_kernel_early + testb $3, CS(%rsp) + jz retint_kernel_early jmp retint_user_early .endif 1001: Tests welcome! Interestingly, 4.14 should have the same problem, but I failed to reproduce there so far. Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux