• Masami Hiramatsu's avatar
    arm: kprobes: Fix the return address of multiple kretprobes · 06553175
    Masami Hiramatsu authored
    This is arm port of commit 737480a0 ("kprobes/x86:
    Fix the return address of multiple kretprobes").
    
    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 | grep -v ^#
                  ln-82    [000] dn.2    68.446525: event1: (kretprobe_trampoline+0x0/0x18 <- SyS_symlink)
                  ln-82    [000] dn.2    68.447831: event2: (ret_fast_syscall+0x0/0x1c <- SyS_symlink)
    
     (with this patch)
    
      # cat trace | grep -v ^#
                  ln-81    [000] dn.1    39.463469: event1: (ret_fast_syscall+0x0/0x1c <- SyS_symlink)
                  ln-81    [000] dn.1    39.464701: event2: (ret_fast_syscall+0x0/0x1c <- SyS_symlink)
    Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Cc: KUMANO Syuhei <kumano.prog@gmail.com>
    Signed-off-by: default avatarJon Medhurst <tixy@linaro.org>
    06553175
core.c 18.3 KB