[PATCH v7 0/7] arm64: Add kernel probes (kprobes) support
masami.hiramatsu.pt at hitachi.com
Wed Jun 17 07:18:42 PDT 2015
At first, thank you for updating this series! :)
On 2015/06/16 4:07, David Long wrote:
> From: "David A. Long" <dave.long at linaro.org>
> This patchset is heavily based on Sandeepa Prabhu's ARM v8 kprobes patches,
> first seen in October 2013. This version attempts to address concerns raised by
> reviewers and also fixes problems discovered during testing.
> This patchset adds support for kernel probes(kprobes), jump probes(jprobes)
> and return probes(kretprobes) support for ARM64.
> The kprobes mechanism makes use of software breakpoint and single stepping
> support available in the ARM v8 kernel.
> The is patch depends on:
> [PATCH 1/2] Move the pt_regs_offset struct definition from arch to common include file
> [PATCH 2/2] Consolidate redundant register/stack access code
Hmm, what are those patches ? Would they be not merged to upstream yet?
If so, where I can get them from? I'd like to know the actual url for them.
> Changes since v6 include:
> 1) New trampoline code from Will Cohen fixes the occasional failure seen
> when processing kretprobes by replacing the software breakpoint with
> assembly code to implement the return to the original execution stream.
Yeah, that's what we need :)
> 2) Changed ip0, ip1, fp, and lr to plain numbered registers for purposes
> of recognizing them as an ascii string in the stack/reg access code.
> 3) Removed orig_x0.
> 4) Moved ARM_x* defines from arch/arm64/include/uapi/asm/ptrace.h to
> David A. Long (2):
> arm64: Add HAVE_REGS_AND_STACK_ACCESS_API feature
> arm64: Add more test functions to insn.c
> Sandeepa Prabhu (4):
> arm64: Kprobes with single stepping support
> arm64: kprobes instruction simulation support
> arm64: Add kernel return probes support (kretprobes)
> kprobes: Add arm64 case in kprobe example module
> William Cohen (1):
> arm64: Add trampoline code for kretprobes
> arch/arm64/Kconfig | 3 +
> arch/arm64/include/asm/debug-monitors.h | 5 +
> arch/arm64/include/asm/insn.h | 18 +
> arch/arm64/include/asm/kprobes.h | 63 +++
> arch/arm64/include/asm/probes.h | 50 +++
> arch/arm64/include/asm/ptrace.h | 28 +-
> arch/arm64/kernel/Makefile | 3 +
> arch/arm64/kernel/debug-monitors.c | 35 +-
> arch/arm64/kernel/insn.c | 28 ++
> arch/arm64/kernel/kprobes-arm64.c | 166 ++++++++
> arch/arm64/kernel/kprobes-arm64.h | 71 ++++
> arch/arm64/kernel/kprobes.c | 665 +++++++++++++++++++++++++++++++
> arch/arm64/kernel/kprobes.h | 24 ++
> arch/arm64/kernel/probes-condn-check.c | 122 ++++++
> arch/arm64/kernel/probes-simulate-insn.c | 174 ++++++++
> arch/arm64/kernel/probes-simulate-insn.h | 33 ++
> arch/arm64/kernel/ptrace.c | 77 ++++
> arch/arm64/kernel/vmlinux.lds.S | 1 +
> arch/arm64/mm/fault.c | 25 ++
> samples/kprobes/kprobe_example.c | 8 +
> 20 files changed, 1588 insertions(+), 11 deletions(-)
> create mode 100644 arch/arm64/include/asm/kprobes.h
> create mode 100644 arch/arm64/include/asm/probes.h
> create mode 100644 arch/arm64/kernel/kprobes-arm64.c
> create mode 100644 arch/arm64/kernel/kprobes-arm64.h
> create mode 100644 arch/arm64/kernel/kprobes.c
> create mode 100644 arch/arm64/kernel/kprobes.h
> create mode 100644 arch/arm64/kernel/probes-condn-check.c
> create mode 100644 arch/arm64/kernel/probes-simulate-insn.c
> create mode 100644 arch/arm64/kernel/probes-simulate-insn.h
Linux Technology Research Center, System Productivity Research Dept.
Center for Technology Innovation - Systems Engineering
Hitachi, Ltd., Research & Development Group
E-mail: masami.hiramatsu.pt at hitachi.com
More information about the linux-arm-kernel