lkml.org 
[lkml]   [2012]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 4/4] uprobes/powerpc: Make use of generic routines to enable single step
    On Fri, Dec 14, 2012 at 09:02:41PM +0100, Oleg Nesterov wrote:
    > On 12/03, Suzuki K. Poulose wrote:
    > >
    > > Replace the ptrace helpers with the powerpc generic routines to
    > > enable/disable single step. We save/restore the MSR (and DCBR for BookE)
    > > across for the operation. We don't have to disable the single step,
    > > as restoring the MSR/DBCR would restore the previous state.
    >
    > Obviously I can't review this series (although it looks fine to me).
    >
    > Just one note,
    >
    > > @@ -121,7 +132,7 @@ int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs)
    > >
    > > WARN_ON_ONCE(current->thread.trap_nr != UPROBE_TRAP_NR);
    > >
    > > - 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.

    Ananth



    \
     
     \ /
      Last update: 2012-12-18 07:21    [W:3.934 / U:0.400 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site