arm64: Add kernel return probes support (kretprobes)
authorSandeepa Prabhu <sandeepa.s.prabhu@gmail.com>
Fri, 8 Jul 2016 16:35:53 +0000 (12:35 -0400)
committerAlex Shi <alex.shi@linaro.org>
Thu, 20 Oct 2016 07:38:13 +0000 (15:38 +0800)
commite09606a554c46cbb70bf6ca0e4b644b28e39e7d2
tree541ade0eb77e051880054cf0bcfc5481cb46ac8d
parentaecc244b48b51e2ce0f1fefd3111ba6d6548d0ce
arm64: Add kernel return probes support (kretprobes)

commit fcfd708b8cf86b8c1ca6ce014d50287f61c0eb88 upstream.

The pre-handler of this special 'trampoline' kprobe executes the return
probe handler functions and restores original return address in ELR_EL1.
This way the saved pt_regs still hold the original register context to be
carried back to the probed kernel function.

Signed-off-by: Sandeepa Prabhu <sandeepa.s.prabhu@gmail.com>
Signed-off-by: David A. Long <dave.long@linaro.org>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig
arch/arm64/kernel/probes/kprobes.c