• KUMANO Syuhei's avatar
    kprobes/x86: Fix the return address of multiple kretprobes · 737480a0
    KUMANO Syuhei authored
    Fix the return address of subsequent kretprobes when multiple
    kretprobes are set on the same function.
    
    For example:
    
     # cd /sys/kernel/debug/tracing
     # echo "r:event1 sys_symlink" > kprobe_events
     # echo "r:event2 sys_symlink" >> kprobe_events
     # echo 1 > events/kprobes/enable
     # ln -s /tmp/foo /tmp/bar
    
    (without this patch)
    
     # cat trace
                  ln-897   [000] 20404.133727: event1: (kretprobe_trampoline+0x0/0x4c <- sys_symlink)
                  ln-897   [000] 20404.133747: event2: (system_call_fastpath+0x16/0x1b <- sys_symlink)
    
    (with this patch)
    
     # cat trace
                  ln-740   [000] 13799.491076: event1: (system_call_fastpath+0x16/0x1b <- sys_symlink)
                  ln-740   [000] 13799.491096: event2: (system_call_fastpath+0x16/0x1b <- sys_symlink)
    Signed-off-by: default avatarKUMANO Syuhei <kumano.prog@gmail.com>
    Reviewed-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
    LKML-Reference: <1281853084.3254.11.camel@camp10-laptop>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    737480a0
kprobes.c 40.6 KB