Re: [PATCH 0/4] arm64: kgdb/kdb: Fix single-step debugging issues

From: Will Deacon
Date: Tue Jun 30 2020 - 03:22:30 EST


On Mon, Jun 29, 2020 at 02:20:11PM -0700, Doug Anderson wrote:
> On Sat, May 16, 2020 at 1:20 AM liwei (GF) <liwei391@xxxxxxxxxx> wrote:
> > On 2020/5/14 8:34, Doug Anderson wrote:
> > > On Sat, May 9, 2020 at 6:49 AM Wei Li <liwei391@xxxxxxxxxx> wrote:
> > >>
> > >> This patch set is to fix several issues of single-step debugging
> > >> in kgdb/kdb on arm64.
> > >>
> > >> It seems that these issues have been shelved a very long time,
> > >> but i still hope to solve them, as the single-step debugging
> > >> is an useful feature.
> > >>
> > >> Note:
> > >> Based on patch "arm64: cacheflush: Fix KGDB trap detection",
> > >> https://www.spinics.net/lists/arm-kernel/msg803741.html
> > >>
> > >> Wei Li (4):
> > >> arm64: kgdb: Fix single-step exception handling oops
> > >> arm64: Extract kprobes_save_local_irqflag() and
> > >> kprobes_restore_local_irqflag()
> > >> arm64: kgdb: Fix single-stepping into the irq handler wrongly
> > >> arm64: kgdb: Set PSTATE.SS to 1 to reenable single-step
> > >>
> > >> arch/arm64/include/asm/debug-monitors.h | 6 ++++++
> > >> arch/arm64/kernel/debug-monitors.c | 28 ++++++++++++++++++++++++-
> > >> arch/arm64/kernel/kgdb.c | 16 +++++++++++---
> > >> arch/arm64/kernel/probes/kprobes.c | 28 ++-----------------------
> > >> 4 files changed, 48 insertions(+), 30 deletions(-)
> > >
> > > Just an overall note that I'm very happy that you posted this patch
> > > series! It's always been a thorn in my side that stepping and
> > > breakpoints were so broken on arm64 and I'm really excited that you're
> > > fixing them. Now I'll have to get in the habit of using kgdb for more
> > > than just debugging crashes and maybe I can use it more for exploring
> > > how functions work more. :-)
> > > > I'll also note that with your patch series I'm even seeing the "call"
> > > feature of gdb working now. That has always been terribly broken for
> > > me.
> > >
> > Thanks for reviewing and testing this series.
> > Enjoy exploring the kernel with kgdb/kdb! :-)
>
> I'm curious to know if you plan another spin. The feedback you
> received was fairly minor so it hopefully shouldn't be too hard. I'd
> very much like to get your patches landed and I'd be happy to try to
> address the feedback and spin them myself if you're no longer
> available for it.

I'd welcome some feedback on the proposal I sent out at the end of last
week:

https://lore.kernel.org/r/20200626095551.GA9312@willie-the-truck

which looks to solve some (all?) of these issues slightly differently,
because it turns out we need to perform some low-level surgery for
preempt-rt *anyway*...

I'm particularly keen to hear any thoughts concerning the reschedule on
return to EL1 after handling an interrupt that hit during a step.

Will