[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yd4u2rVVSdpEpwwM@google.com>
Date: Wed, 12 Jan 2022 01:28:58 +0000
From: Sean Christopherson <seanjc@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: kernel test robot <oliver.sang@...el.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
lkp@...ts.01.org, lkp@...el.com
Subject: Re: [x86/entry_32] aa93e2ad74:
BUG:soft_lockup-CPU##stuck_for#s![systemd-logind:#]
On Tue, Jan 11, 2022, Peter Zijlstra wrote:
> On Thu, Jan 06, 2022 at 04:35:23PM +0800, kernel test robot wrote:
> >
> >
> > Greeting,
> >
> > FYI, we noticed the following commit (built with clang-14):
> >
> > commit: aa93e2ad7464ffb90155a5ffdde963816f86d5dc ("x86/entry_32: Remove .fixup usage")
> > https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git x86/core
> >
> > in testcase: kernel-selftests
> > version:
> > with following parameters:
> >
> > group: x86
> >
>
> It would be very useful if this thing would also say which of the many
> x86 selftests fails... it appears to be: ldt_gdt_32.
>
> The below fixes it, but I'm still not entirely sure what the actual
> problem is, although Andy did find a bug in that the exception handler
> should do: *(ss:esp) = 0, adding ss-base (using insn_get_seg_base())
> doesn't seem to cure things.
Because I was curious...
The issue is that PARANOID_EXIT_TO_KERNEL_MODE in the handle_exception_return
path overwrites the entry stack data with the task stack data, restoring the "bad"
segment value.
Powered by blists - more mailing lists