lkml.org 
[lkml]   [2013]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC PATCH v3 0/6] uprobes: return probe implementation
    Date
    Hello,

    RFC v3 uretprobes implementation. I'd be grateful for review.

    These patches extending uprobes by enabling tools, such as perf(trace_event),
    set a breakpoint on probed function's return address.

    v3 changes:
    - removed uretprobe_bypass logic, it will be better to send it as
    independent patch
    - unified xol_get_trampoline_slot() and xol_get_insn_slot()
    - protected uprobe with refcounter in prepare_uretprobe()
    - uprobe_register() routine fails now, if neither consumer is set
    - enclosed implementation into 1/6, 6/6 patches -ENOSYS bits

    v2 changes:
    - introduced rp_handler(), get rid of return_consumers
    - get rid of uretprobe_[un]register()
    - introduced arch_uretprobe_get_sp()
    - removed uprobe_task->doomed, kill task immediately
    - fix arch_uretprobe_hijack_return_addr()'s returns
    - address the v1 minor issues

    integrated patchset:
    http://github.com/arapov/linux-aa/commits/uretprobes_v3

    previous implementations:
    RFCv2: https://lkml.org/lkml/2013/1/9/157
    RFCv1: https://lkml.org/lkml/2012/12/21/133

    thanks,
    Anton

    Anton Arapov (6):
    uretprobes: preparation patch
    uretprobes/x86: hijack return address
    uretprobes: generalize xol_get_insn_slot()
    uretprobes: return probe entry, prepare uretprobe
    uretprobes: invoke return probe handlers
    uretprobes: implemented, thus remove -ENOSYS

    arch/x86/include/asm/uprobes.h | 6 +++
    arch/x86/kernel/uprobes.c | 29 +++++++++++
    include/linux/uprobes.h | 6 +++
    kernel/events/uprobes.c | 112 ++++++++++++++++++++++++++++++++++++++---
    4 files changed, 146 insertions(+), 7 deletions(-)

    --
    1.8.1.2


    \
     
     \ /
      Last update: 2013-02-28 12:21    [W:0.049 / U:61.324 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site