From: masami.hiramatsu.pt@hitachi•com (Masami Hiramatsu)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v7 0/7] arm64: Add kernel probes (kprobes) support
Date: Wed, 17 Jun 2015 23:18:42 +0900 [thread overview]
Message-ID: <558181C2.6020500@hitachi.com> (raw)
In-Reply-To: <1434395229-6654-1-git-send-email-dave.long@linaro.org>
Hi David,
At first, thank you for updating this series! :)
On 2015/06/16 4:07, David Long wrote:
> From: "David A. Long" <dave.long@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 :)
Thank you,
> 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
> arch/arm64/kernel/ptrace.c.
>
> 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
>
--
Masami HIRAMATSU
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
next prev parent reply other threads:[~2015-06-17 14:18 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-15 19:07 [PATCH v7 0/7] arm64: Add kernel probes (kprobes) support David Long
2015-06-15 19:07 ` [PATCH v7 1/7] arm64: Add HAVE_REGS_AND_STACK_ACCESS_API feature David Long
2015-06-29 17:23 ` Steve Capper
2015-06-29 18:36 ` David Long
2015-06-30 10:51 ` Steve Capper
2015-06-15 19:07 ` [PATCH v7 2/7] arm64: Add more test functions to insn.c David Long
2015-06-29 17:23 ` Steve Capper
2015-06-30 0:06 ` David Long
2015-06-15 19:07 ` [PATCH v7 3/7] arm64: Kprobes with single stepping support David Long
2015-06-29 17:24 ` Steve Capper
2015-07-02 22:36 ` David Long
2015-06-15 19:07 ` [PATCH v7 4/7] arm64: kprobes instruction simulation support David Long
2015-06-29 17:25 ` Steve Capper
2015-06-15 19:07 ` [PATCH v7 5/7] arm64: Add trampoline code for kretprobes David Long
2015-06-16 15:09 ` William Cohen
2015-06-17 18:37 ` David Long
2015-06-29 17:25 ` Steve Capper
2015-06-29 18:16 ` William Cohen
2015-06-30 11:04 ` Steve Capper
2015-06-30 13:41 ` William Cohen
2015-07-31 14:15 ` Catalin Marinas
2015-06-15 19:07 ` [PATCH v7 6/7] arm64: Add kernel return probes support (kretprobes) David Long
2015-06-15 19:07 ` [PATCH v7 7/7] kprobes: Add arm64 case in kprobe example module David Long
2015-06-17 14:18 ` Masami Hiramatsu [this message]
2015-06-17 18:51 ` [PATCH v7 0/7] arm64: Add kernel probes (kprobes) support David Long
2015-06-29 17:23 ` Steve Capper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=558181C2.6020500@hitachi.com \
--to=masami.hiramatsu.pt@hitachi$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox