From: masami.hiramatsu.pt@hitachi.com (Masami Hiramatsu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC v2 0/6] ARM64: Add kernel probes(Kprobes) support
Date: Fri, 18 Oct 2013 17:32:08 +0900 [thread overview]
Message-ID: <5260F208.9000800@hitachi.com> (raw)
In-Reply-To: <1382008671-4515-1-git-send-email-sandeepa.prabhu@linaro.org>
(2013/10/17 20:17), Sandeepa Prabhu wrote:
> This patchset adds support for kernel probes(kprobes), jump probes(jprobes)
> and return probes(kretprobes) support for ARM64.
>
> Kprobes mechanism make use of software breakpoint and single stepping
> support available in ARM v8 kernel.
>
Thank you! This looks much better for me now. ;)
> This patchset make use of (and dependant upon) dynamic kernel patching
> feature published in patch series: https://lkml.org/lkml/2013/10/15/891
>
> changes: v1 -> v2
> 1. Implemented review comments on v1
> 2. Debug montior hooks implementation is changed to use rwlocks
> instead of rcu and spinlock.
Eventually, we'd better reconsider using rcu there, or prohibit probing
readlock related functions. For the first step, this will be good.
> 3. Enabled recursing in kprobes handler for kprobes re-enter support.
> 4. Re-split the patchset to seperate single-stepping, simulation and
> kretprobes features.
> 5. instruction simulation is made independent of 'struct kprobes'
> 6. Added 'Linaro Copyright' statements in new added files.
> 7. Used arm64 instead of aarch64 in file names and comments.
>
> Tested on ARM v8 fast model with sample modules from: samples/kprobes/
>
> Sandeepa Prabhu (6):
> arm64: support single-step and breakpoint handler hooks
> arm64: Kprobes with single stepping support
> arm64: Kprobes instruction simulation support
> arm64: Add kernel return probes support(kretprobes)
> arm64: Enable kprobes support for arm64 platform
> kprobes: Add cases for arm and arm64 in sample module
>
> arch/arm64/Kconfig | 2 +
> arch/arm64/configs/defconfig | 20 +-
> arch/arm64/include/asm/debug-monitors.h | 21 +
> arch/arm64/include/asm/kprobes.h | 60 +++
> arch/arm64/include/asm/probes.h | 50 +++
> arch/arm64/include/asm/ptrace.h | 6 +
> arch/arm64/kernel/Makefile | 2 +
> arch/arm64/kernel/condn-helpers.c | 120 ++++++
> arch/arm64/kernel/debug-monitors.c | 86 +++-
> arch/arm64/kernel/entry.S | 2 +
> arch/arm64/kernel/kprobes-arm64.c | 313 +++++++++++++++
> arch/arm64/kernel/kprobes-arm64.h | 30 ++
One comment, this name looks a bit wired. Since it seems that these are
for instruction decoding, can we merge it with probe-decode.h and
rename it as probe-decode.{h,c}? When we implement uprobes, we still
can expand it (add the decoding table for uprobes in the probe-decode.c).
> arch/arm64/kernel/kprobes.c | 682 ++++++++++++++++++++++++++++++++
> arch/arm64/kernel/kprobes.h | 30 ++
> arch/arm64/kernel/probes-decode.h | 110 ++++++
> arch/arm64/kernel/simulate-insn.c | 184 +++++++++
> arch/arm64/kernel/simulate-insn.h | 33 ++
> arch/arm64/kernel/vmlinux.lds.S | 1 +
> samples/kprobes/kprobe_example.c | 16 +
> 19 files changed, 1756 insertions(+), 12 deletions(-)
BTW, is there any public git repository which has this series?
Thank you again!
--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt at hitachi.com
WARNING: multiple messages have this Message-ID (diff)
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Sandeepa Prabhu <sandeepa.prabhu@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, patches@linaro.org,
linaro-kernel@lists.linaro.org, catalin.marinas@arm.com,
will.deacon@arm.com, steve.capper@linaro.org, nico@linaro.org,
srikar@linux.vnet.ibm.com, rostedt@goodmis.org,
dsaxena@linaro.org, jiang.liu@huawei.com,
Vijaya.Kumar@caviumnetworks.com
Subject: Re: [PATCH RFC v2 0/6] ARM64: Add kernel probes(Kprobes) support
Date: Fri, 18 Oct 2013 17:32:08 +0900 [thread overview]
Message-ID: <5260F208.9000800@hitachi.com> (raw)
In-Reply-To: <1382008671-4515-1-git-send-email-sandeepa.prabhu@linaro.org>
(2013/10/17 20:17), Sandeepa Prabhu wrote:
> This patchset adds support for kernel probes(kprobes), jump probes(jprobes)
> and return probes(kretprobes) support for ARM64.
>
> Kprobes mechanism make use of software breakpoint and single stepping
> support available in ARM v8 kernel.
>
Thank you! This looks much better for me now. ;)
> This patchset make use of (and dependant upon) dynamic kernel patching
> feature published in patch series: https://lkml.org/lkml/2013/10/15/891
>
> changes: v1 -> v2
> 1. Implemented review comments on v1
> 2. Debug montior hooks implementation is changed to use rwlocks
> instead of rcu and spinlock.
Eventually, we'd better reconsider using rcu there, or prohibit probing
readlock related functions. For the first step, this will be good.
> 3. Enabled recursing in kprobes handler for kprobes re-enter support.
> 4. Re-split the patchset to seperate single-stepping, simulation and
> kretprobes features.
> 5. instruction simulation is made independent of 'struct kprobes'
> 6. Added 'Linaro Copyright' statements in new added files.
> 7. Used arm64 instead of aarch64 in file names and comments.
>
> Tested on ARM v8 fast model with sample modules from: samples/kprobes/
>
> Sandeepa Prabhu (6):
> arm64: support single-step and breakpoint handler hooks
> arm64: Kprobes with single stepping support
> arm64: Kprobes instruction simulation support
> arm64: Add kernel return probes support(kretprobes)
> arm64: Enable kprobes support for arm64 platform
> kprobes: Add cases for arm and arm64 in sample module
>
> arch/arm64/Kconfig | 2 +
> arch/arm64/configs/defconfig | 20 +-
> arch/arm64/include/asm/debug-monitors.h | 21 +
> arch/arm64/include/asm/kprobes.h | 60 +++
> arch/arm64/include/asm/probes.h | 50 +++
> arch/arm64/include/asm/ptrace.h | 6 +
> arch/arm64/kernel/Makefile | 2 +
> arch/arm64/kernel/condn-helpers.c | 120 ++++++
> arch/arm64/kernel/debug-monitors.c | 86 +++-
> arch/arm64/kernel/entry.S | 2 +
> arch/arm64/kernel/kprobes-arm64.c | 313 +++++++++++++++
> arch/arm64/kernel/kprobes-arm64.h | 30 ++
One comment, this name looks a bit wired. Since it seems that these are
for instruction decoding, can we merge it with probe-decode.h and
rename it as probe-decode.{h,c}? When we implement uprobes, we still
can expand it (add the decoding table for uprobes in the probe-decode.c).
> arch/arm64/kernel/kprobes.c | 682 ++++++++++++++++++++++++++++++++
> arch/arm64/kernel/kprobes.h | 30 ++
> arch/arm64/kernel/probes-decode.h | 110 ++++++
> arch/arm64/kernel/simulate-insn.c | 184 +++++++++
> arch/arm64/kernel/simulate-insn.h | 33 ++
> arch/arm64/kernel/vmlinux.lds.S | 1 +
> samples/kprobes/kprobe_example.c | 16 +
> 19 files changed, 1756 insertions(+), 12 deletions(-)
BTW, is there any public git repository which has this series?
Thank you again!
--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
next prev parent reply other threads:[~2013-10-18 8:32 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-17 11:17 [PATCH RFC v2 0/6] ARM64: Add kernel probes(Kprobes) support Sandeepa Prabhu
2013-10-17 11:17 ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC v4 1/6] arm64: support single-step and breakpoint handler hooks Sandeepa Prabhu
2013-10-17 11:17 ` Sandeepa Prabhu
2013-10-25 15:22 ` Will Deacon
2013-10-25 15:22 ` Will Deacon
2013-12-03 14:33 ` Sandeepa Prabhu
2013-12-03 14:33 ` Sandeepa Prabhu
2013-12-03 19:44 ` Will Deacon
2013-12-03 19:44 ` Will Deacon
2013-10-17 11:17 ` [PATCH RFC 2/6] arm64: Kprobes with single stepping support Sandeepa Prabhu
2013-10-17 11:17 ` Sandeepa Prabhu
2013-11-08 16:56 ` Will Deacon
2013-11-08 16:56 ` Will Deacon
2013-11-09 9:10 ` Masami Hiramatsu
2013-11-09 9:10 ` Masami Hiramatsu
2013-11-11 5:39 ` Sandeepa Prabhu
2013-11-11 5:39 ` Sandeepa Prabhu
2013-11-11 7:54 ` Masami Hiramatsu
2013-11-11 7:54 ` Masami Hiramatsu
2013-11-11 10:51 ` Masami Hiramatsu
2013-11-11 10:51 ` Masami Hiramatsu
2013-11-11 10:58 ` Will Deacon
2013-11-11 10:58 ` Will Deacon
2013-11-11 17:32 ` Masami Hiramatsu
2013-11-11 17:32 ` Masami Hiramatsu
2013-11-12 6:23 ` Sandeepa Prabhu
2013-11-12 6:23 ` Sandeepa Prabhu
2013-11-12 7:27 ` Masami Hiramatsu
2013-11-12 7:27 ` Re: " Masami Hiramatsu
2013-11-12 8:44 ` Sandeepa Prabhu
2013-11-12 8:44 ` Re: " Sandeepa Prabhu
2013-11-12 10:17 ` Masami Hiramatsu
2013-11-12 10:17 ` Re: Re: " Masami Hiramatsu
2013-11-12 10:55 ` Sandeepa Prabhu
2013-11-12 10:55 ` Re: Re: " Sandeepa Prabhu
2013-11-12 14:11 ` Masami Hiramatsu
2013-11-12 14:11 ` Re: Re: Re: " Masami Hiramatsu
2013-11-12 16:59 ` Steven Rostedt
2013-11-12 16:59 ` Steven Rostedt
2013-11-13 16:05 ` Masami Hiramatsu
2013-11-13 16:05 ` Masami Hiramatsu
2013-11-13 6:55 ` Sandeepa Prabhu
2013-11-13 7:08 ` Sandeepa Prabhu
2013-11-13 7:08 ` Re: " Sandeepa Prabhu
2013-11-13 14:07 ` Masami Hiramatsu
2013-11-13 14:07 ` Re: Re: " Masami Hiramatsu
2013-11-13 14:31 ` Will Deacon
2013-11-13 14:31 ` Re: " Will Deacon
2013-11-13 15:55 ` Sandeepa Prabhu
2013-11-13 15:55 ` Re: " Sandeepa Prabhu
2013-11-15 16:39 ` Will Deacon
2013-11-15 16:39 ` Re: " Will Deacon
2013-11-18 6:55 ` Sandeepa Prabhu
2013-11-18 6:55 ` Re: " Sandeepa Prabhu
2013-11-18 8:51 ` Sandeepa Prabhu
2013-11-18 8:51 ` Re: " Sandeepa Prabhu
2013-11-13 13:58 ` Peter Zijlstra
2013-11-13 13:58 ` Peter Zijlstra
2013-11-13 14:20 ` Will Deacon
2013-11-13 14:20 ` Will Deacon
2013-11-11 5:35 ` Sandeepa Prabhu
2013-11-11 5:35 ` Sandeepa Prabhu
2013-11-11 11:21 ` Will Deacon
2013-11-11 11:21 ` Will Deacon
2013-11-12 6:52 ` Sandeepa Prabhu
2013-11-12 6:52 ` Sandeepa Prabhu
2013-11-15 16:37 ` Will Deacon
2013-11-15 16:37 ` Will Deacon
2013-11-18 6:43 ` Sandeepa Prabhu
2013-11-18 6:43 ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC 3/6] arm64: Kprobes instruction simulation support Sandeepa Prabhu
2013-10-17 11:17 ` Sandeepa Prabhu
2013-11-08 17:03 ` Will Deacon
2013-11-08 17:03 ` Will Deacon
2013-11-11 5:58 ` Sandeepa Prabhu
2013-11-11 5:58 ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC 4/6] arm64: Add kernel return probes support(kretprobes) Sandeepa Prabhu
2013-10-17 11:17 ` Sandeepa Prabhu
2013-11-08 17:04 ` Will Deacon
2013-11-08 17:04 ` Will Deacon
2013-11-11 4:29 ` Sandeepa Prabhu
2013-11-11 4:29 ` Sandeepa Prabhu
2013-11-11 7:53 ` AKASHI Takahiro
2013-11-11 7:53 ` AKASHI Takahiro
2013-11-11 8:55 ` Sandeepa Prabhu
2013-11-11 8:55 ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC 5/6] arm64: Enable kprobes support for arm64 platform Sandeepa Prabhu
2013-10-17 11:17 ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC 6/6] kprobes: Add cases for arm and arm64 in sample module Sandeepa Prabhu
2013-10-17 11:17 ` Sandeepa Prabhu
2013-10-25 15:24 ` Will Deacon
2013-10-25 15:24 ` Will Deacon
2013-11-06 11:05 ` Sandeepa Prabhu
2013-11-06 11:05 ` Sandeepa Prabhu
2013-10-18 8:32 ` Masami Hiramatsu [this message]
2013-10-18 8:32 ` [PATCH RFC v2 0/6] ARM64: Add kernel probes(Kprobes) support Masami Hiramatsu
2013-10-21 4:17 ` Sandeepa Prabhu
2013-10-21 4:17 ` Sandeepa Prabhu
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=5260F208.9000800@hitachi.com \
--to=masami.hiramatsu.pt@hitachi.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.