Messages in this thread | | | Date | Wed, 19 Dec 2012 10:23:44 +0530 | From | Ananth N Mavinakayanahalli <> | Subject | Re: [PATCH v2 4/4] uprobes/powerpc: Make use of generic routines to enable single step |
| |
On Tue, Dec 18, 2012 at 08:10:13PM +0100, Oleg Nesterov wrote: > On 12/18, Ananth N Mavinakayanahalli wrote: > > > > On Fri, Dec 14, 2012 at 09:02:41PM +0100, Oleg Nesterov wrote: > > > > > > > > - uprobe_restore_context_sstep(&utask->autask); > > > > + uprobe_restore_context_sstep(&utask->autask, regs); > > > > > > I am not sure ppc needs this, but note that x86 does a bit more. > > > > > > Not only we need to restore the "single-step" state, we need to > > > send SIGTRAP if it was not set by us. The same for _skip_sstep. > > > > Do you mean restoring the TF equivalent on powerpc to what it was before? > > > > If so, powerpc has always been unique in this aspect -- the single-step > > exception handler *always* resets the sstep bit in MSR. Any user needing > > to continue single-stepping has to explicitly set it again. > > I meant another thing. > > Suppose that, say, gdb tries to single-step over the probed insn. > In this case we need to send SIGTRAP after xol/emulate. Please look at > send_sig(SIGTRAP) in arch/x86/kernel/uprobes.c:arch_uprobe_post_xol() > and arch_uprobe_skip_sstep().
Agreed. Thanks for the clarification Oleg.
Ananth
| |