All of lore.kernel.org
 help / color / mirror / Atom feed
* KGDB/KDB treats WARN*() as Oops on x86 since 4.12
@ 2017-10-09 12:24 Ilya Dryomov
  2017-10-13 14:59 ` Daniel Thompson
  0 siblings, 1 reply; 4+ messages in thread
From: Ilya Dryomov @ 2017-10-09 12:24 UTC (permalink / raw)
  To: Jason Wessel
  Cc: Alexander Shishkin, Peter Zijlstra, Ingo Molnar, kgdb-bugreport,
	linux-kernel

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/

Thanks,

                Ilya

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: KGDB/KDB treats WARN*() as Oops on x86 since 4.12
  2017-10-09 12:24 KGDB/KDB treats WARN*() as Oops on x86 since 4.12 Ilya Dryomov
@ 2017-10-13 14:59 ` Daniel Thompson
  2017-11-09 19:08   ` Ilya Dryomov
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Thompson @ 2017-10-13 14:59 UTC (permalink / raw)
  To: Ilya Dryomov, Jason Wessel
  Cc: Alexander Shishkin, Peter Zijlstra, Ingo Molnar, kgdb-bugreport,
	linux-kernel

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: KGDB/KDB treats WARN*() as Oops on x86 since 4.12
  2017-10-13 14:59 ` Daniel Thompson
@ 2017-11-09 19:08   ` Ilya Dryomov
  2017-11-10  6:15     ` Ingo Molnar
  0 siblings, 1 reply; 4+ messages in thread
From: Ilya Dryomov @ 2017-11-09 19:08 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar
  Cc: Jason Wessel, Alexander Shishkin, Daniel Thompson,
	kgdb-bugreport, linux-kernel

On Fri, Oct 13, 2017 at 4:59 PM, Daniel Thompson
<daniel.thompson@linaro.org> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: KGDB/KDB treats WARN*() as Oops on x86 since 4.12
  2017-11-09 19:08   ` Ilya Dryomov
@ 2017-11-10  6:15     ` Ingo Molnar
  0 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2017-11-10  6:15 UTC (permalink / raw)
  To: Ilya Dryomov
  Cc: Peter Zijlstra, Jason Wessel, Alexander Shishkin,
	Daniel Thompson, kgdb-bugreport, linux-kernel


* Ilya Dryomov <idryomov@gmail.com> wrote:

> On Fri, Oct 13, 2017 at 4:59 PM, Daniel Thompson
> <daniel.thompson@linaro.org> 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.

Ok, agreed, I picked the fix up into tip:x86/urgent, with a -stable backporting 
tag, and will try to get it to Linus for v4.15 (it will also get backported to 
v4.14 which is affected as well).

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-10  6:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-09 12:24 KGDB/KDB treats WARN*() as Oops on x86 since 4.12 Ilya Dryomov
2017-10-13 14:59 ` Daniel Thompson
2017-11-09 19:08   ` Ilya Dryomov
2017-11-10  6:15     ` Ingo Molnar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.