lkml.org 
[lkml]   [2011]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 12/X] uprobes: x86: introduce abort_xol()
    On Fri, Oct 21, 2011 at 06:42:21PM +0200, Oleg Nesterov wrote:
    > On 10/21, Ananth N Mavinakayanahalli wrote:

    ...

    > > For instance, on x86, it points to the next
    > > instruction,
    >
    > No?

    At exception entry, we'd not have done the following fixup...

    > /**
    > * get_uprobe_bkpt_addr - compute address of bkpt given post-bkpt regs
    > * @regs: Reflects the saved state of the task after it has hit a breakpoint
    > * instruction.
    > * Return the address of the breakpoint instruction.
    > */
    > unsigned long __weak get_uprobe_bkpt_addr(struct pt_regs *regs)
    > {
    > return instruction_pointer(regs) - UPROBES_BKPT_INSN_SIZE;
    > }
    >
    > Yes, initially regs->ip points to the next insn after int3, but
    > utask->vaddr == get_uprobe_bkpt_addr() == addr of int3.
    >
    > Right?

    Yes, we fix it up so we point to the right (breakpoint) address.

    > > while on powerpc, the nip points to the breakpoint vaddr
    > > at the time of exception.
    >
    > I think get_uprobe_bkpt_addr() should be consistent on every arch.
    > That is why (I think) it is __weak.

    Yes, that is the intention.

    > Anyway, abort_xol() has to be arch-specific.

    Agree.

    Ananth


    \
     
     \ /
      Last update: 2011-10-22 09:11    [W:0.022 / U:215.632 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site