Re: KGDB/KDB treats WARN*() as Oops on x86 since 4.12

From: Ilya Dryomov
Date: Thu Nov 09 2017 - 14:08:33 EST


On Fri, Oct 13, 2017 at 4:59 PM, Daniel Thompson
<daniel.thompson@xxxxxxxxxx> wrote:
> On 09/10/17 13:24, Ilya Dryomov wrote:
>>
>> Hi Jason,
>>
>> Starting with 4.12, WARN*() is implemented with ud0, generating an
>> Invalid Opcode exception. KGDB/KDB gets entered as if it were an Oops,
>> making KGDB/KDB rather hard to use, particularly on testing kernels.
>>
>> Alexander posted a fix a while back, but Peter seems to be waiting for
>> your ack. Could you please weigh in?
>>
>> [PATCH] x86/debug: Handle warnings before the notifier chain
>> https://patchwork.kernel.org/patch/9859065/
>
>
> Hmnnn... IIRC arm64 code has been also been blocked for a couple of releases
> whilst Will D. waited for an ack that never came.
>
> My own reading of the code is that the patch in question restores the status
> quo, that there will still be mechanisms to provoke entry to kdb/kgdb during
> a warning (breakpoint on __warn, engage panic_on_warn, etc) and that these
> are not obviously recursive[1].
>
> Put another way I'm happy to dig the patch out of my mail archive and throw
> in an Acked-By: but since I have no official role within kdb/kgdb (I'm just
> an interested bystander) it might not be enough for Peter.
>
>
> Daniel.
>
>
> [1] I'm not a huge x86 expert so correct me if I am wrong but I think
> its ok for us to trap here providing its for a different reason.

Hi Peter, Ingo,

Could you please consider taking Alexander's patch for 4.15? Jason
never replied to any of our pings and hasn't been actively involved
with kgdb recently. In the meantime, this regression makes running
e.g. xfstests runs with kgdb enabled pretty much impossible.

Thanks,

Ilya