linux/arch/arm/probes/kprobes
Masami Hiramatsu 06553175f5 arm: kprobes: Fix the return address of multiple kretprobes
This is arm port of commit 737480a0d5 ("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: Masami Hiramatsu <mhiramat@kernel.org>
Cc: KUMANO Syuhei <kumano.prog@gmail.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2017-03-21 16:24:18 +00:00
..
actions-arm.c ARM: kprobes: check register usage for probed instruction. 2015-01-13 16:10:48 +00:00
actions-common.c
actions-thumb.c ARM: kprobes: collects stack consumption for store instructions 2015-01-13 16:10:06 +00:00
checkers-arm.c ARM: kprobes: check register usage for probed instruction. 2015-01-13 16:10:48 +00:00
checkers-common.c ARM: kprobes: collects stack consumption for store instructions 2015-01-13 16:10:06 +00:00
checkers-thumb.c ARM: kprobes: collects stack consumption for store instructions 2015-01-13 16:10:06 +00:00
checkers.h ARM: kprobes: check register usage for probed instruction. 2015-01-13 16:10:48 +00:00
core.c arm: kprobes: Fix the return address of multiple kretprobes 2017-03-21 16:24:18 +00:00
core.h ARM: kprobes: Fix compilation error caused by superfluous '*' 2015-02-10 15:05:30 +08:00
Makefile ARM: kprobes: enable OPTPROBES for ARM 32 2015-01-13 16:10:17 +00:00
opt-arm.c ARM: optprobes: execute instruction during restoring if possible. 2015-01-14 12:24:52 +00:00
test-arm.c ARM: kprobes: Eliminate test code's use of BX instruction on ARMv4 CPUs 2015-01-20 09:06:04 +00:00
test-core.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/clock.h> 2017-03-02 08:42:27 +01:00
test-core.h ARM: kprobes: Fix unreliable MRS instruction tests 2015-01-13 16:10:17 +00:00
test-thumb.c ARM: kprobes: Fix unreliable MRS instruction tests 2015-01-13 16:10:17 +00:00