From: dave.long@linaro.org (David Long)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/13] uprobes: Add uprobes support for ARM
Date: Tue, 15 Oct 2013 17:04:15 -0400 [thread overview]
Message-ID: <1381871068-27660-1-git-send-email-dave.long@linaro.org> (raw)
From: "David A. Long" <dave.long@linaro.org>
This patch series adds basic uprobes support to ARM. It is based on patches
developed earlier by Rabin Vincent. That approach of adding hooks into
the kprobes instruction parsing code was not well received. This approach
separates the ARM instruction parsing code in kprobes out into a separate set
of functions which can be used by both kprobes and uprobes. Both kprobes and
uprobes then provide their own semantic action tables to process the results of
the parsing.
The following changes have been made for v2:
1) The last dependencies of uprobes on kprobes have been removed and the two
features may now be independently configured.
2) The larger changes have been separated into a few stages.
3) Use of "void *" has been replaced with an appropriate pointer type
in various places.
4) The arm kprobes-test module has been changed to work better with a
thumb-mode kernel.
These patches are based on v3.12-rc5.
David A. Long (11):
uprobes: move function declarations out of arch
uprobes: allow ignoring of probe hits
uprobes: allow arch access to xol slot
ARM: move shared uprobe/kprobe definitions into new include file
ARM: move generic thumb instruction parsing code to new files for use
by other features
ARM: use a function table for determining instruction interpreter
actions
ARM: Disable jprobe selftests in thumb kernels
kprobes: Remove uneeded kernel dependency on struct arch_specific_insn
ARM: Finish renaming ARM kprobes APIs for sharing with uprobes
ARM: add uprobes support
ARM: Remove uprobes dependency on kprobes
Rabin Vincent (2):
uprobes: allow arch-specific initialization
uprobes: add arch write opcode hook
arch/arm/Kconfig | 3 +
arch/arm/include/asm/kprobes.h | 15 +-
arch/arm/include/asm/probes.h | 25 +
arch/arm/include/asm/ptrace.h | 6 +
arch/arm/include/asm/thread_info.h | 5 +-
arch/arm/include/asm/uprobes.h | 34 ++
arch/arm/kernel/Makefile | 7 +-
arch/arm/kernel/kprobes-arm.c | 813 +++----------------------
arch/arm/kernel/kprobes-common.c | 469 +--------------
arch/arm/kernel/kprobes-test.c | 13 +-
arch/arm/kernel/kprobes-thumb.c | 1156 ++++++------------------------------
arch/arm/kernel/kprobes.c | 25 +-
arch/arm/kernel/kprobes.h | 397 +------------
arch/arm/kernel/probes-arm.c | 742 +++++++++++++++++++++++
arch/arm/kernel/probes-arm.h | 72 +++
arch/arm/kernel/probes-thumb.c | 877 +++++++++++++++++++++++++++
arch/arm/kernel/probes-thumb.h | 95 +++
arch/arm/kernel/probes.c | 459 ++++++++++++++
arch/arm/kernel/probes.h | 395 ++++++++++++
arch/arm/kernel/signal.c | 4 +
arch/arm/kernel/uprobes-arm.c | 220 +++++++
arch/arm/kernel/uprobes.c | 201 +++++++
arch/arm/kernel/uprobes.h | 25 +
arch/powerpc/include/asm/uprobes.h | 1 -
arch/x86/include/asm/uprobes.h | 7 -
include/linux/kprobes.h | 7 +-
include/linux/uprobes.h | 17 +
kernel/events/uprobes.c | 58 +-
28 files changed, 3573 insertions(+), 2575 deletions(-)
create mode 100644 arch/arm/include/asm/probes.h
create mode 100644 arch/arm/include/asm/uprobes.h
create mode 100644 arch/arm/kernel/probes-arm.c
create mode 100644 arch/arm/kernel/probes-arm.h
create mode 100644 arch/arm/kernel/probes-thumb.c
create mode 100644 arch/arm/kernel/probes-thumb.h
create mode 100644 arch/arm/kernel/probes.c
create mode 100644 arch/arm/kernel/probes.h
create mode 100644 arch/arm/kernel/uprobes-arm.c
create mode 100644 arch/arm/kernel/uprobes.c
create mode 100644 arch/arm/kernel/uprobes.h
--
1.8.1.2
next reply other threads:[~2013-10-15 21:04 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-15 21:04 David Long [this message]
2013-10-15 21:04 ` [PATCH v2 01/13] uprobes: move function declarations out of arch David Long
2013-11-05 16:01 ` Oleg Nesterov
2013-11-05 18:16 ` Oleg Nesterov
2013-11-05 19:01 ` [PATCH] uprobes: Export write_opcode() as uprobe_write_opcode() Oleg Nesterov
2013-11-05 19:55 ` David Long
2013-11-05 19:13 ` [PATCH v2 01/13] uprobes: move function declarations out of arch David Long
2013-10-15 21:04 ` [PATCH v2 02/13] uprobes: allow ignoring of probe hits David Long
2013-10-19 17:02 ` Oleg Nesterov
2013-10-22 3:45 ` David Long
2013-10-22 11:25 ` Oleg Nesterov
2013-10-22 23:56 ` David Long
2013-10-28 18:54 ` Oleg Nesterov
2013-10-30 21:11 ` David Long
2013-10-15 21:04 ` [PATCH v2 03/13] uprobes: allow arch access to xol slot David Long
2013-10-19 16:36 ` Oleg Nesterov
2013-10-23 0:03 ` David Long
2013-10-29 15:40 ` Oleg Nesterov
2013-11-04 19:49 ` [PATCH] uprobes: introduce arch_uprobe->ixol Oleg Nesterov
2013-11-04 21:25 ` David Long
2013-11-05 16:04 ` David Long
2013-11-05 18:01 ` Oleg Nesterov
2013-11-05 18:45 ` David Long
2013-10-15 21:04 ` [PATCH v2 04/13] uprobes: allow arch-specific initialization David Long
2013-10-19 16:42 ` Oleg Nesterov
2013-10-23 1:21 ` David Long
2013-10-28 18:58 ` Oleg Nesterov
2013-10-31 18:41 ` David Long
2013-11-01 13:52 ` Oleg Nesterov
2013-11-04 3:24 ` David Long
2013-10-15 21:04 ` [PATCH v2 05/13] uprobes: add arch write opcode hook David Long
2013-10-19 16:50 ` Oleg Nesterov
2013-10-23 18:20 ` David Long
2013-10-28 19:49 ` Oleg Nesterov
2013-10-29 19:59 ` Oleg Nesterov
2013-11-02 3:33 ` David Long
2013-11-02 14:03 ` Oleg Nesterov
2013-10-15 21:04 ` [PATCH v2 06/13] ARM: move shared uprobe/kprobe definitions into new include file David Long
2013-10-15 21:04 ` [PATCH v2 09/13] ARM: Disable jprobe selftests in thumb kernels David Long
2013-11-07 17:26 ` Jon Medhurst (Tixy)
2013-11-10 22:57 ` David Long
2013-10-15 21:04 ` [PATCH v2 10/13] kprobes: Remove uneeded kernel dependency on struct arch_specific_insn David Long
2013-11-13 17:13 ` Jon Medhurst (Tixy)
2013-11-14 2:02 ` Masami Hiramatsu
2013-11-14 14:15 ` Jon Medhurst (Tixy)
2013-11-14 20:33 ` David Long
2013-11-15 10:23 ` Masami Hiramatsu
2013-11-15 15:16 ` David Long
2013-11-15 10:11 ` Masami Hiramatsu
2013-11-14 1:20 ` Masami Hiramatsu
2013-10-15 21:04 ` [PATCH v2 11/13] ARM: Finish renaming ARM kprobes APIs for sharing with uprobes David Long
2013-11-13 17:16 ` Jon Medhurst (Tixy)
2013-11-15 15:45 ` David Long
2013-10-15 21:04 ` [PATCH v2 12/13] ARM: add uprobes support David Long
2013-10-15 21:04 ` [PATCH v2 13/13] ARM: Remove uprobes dependency on kprobes David Long
[not found] ` <1381871068-27660-8-git-send-email-dave.long@linaro.org>
2013-11-13 17:09 ` [PATCH v2 07/13] ARM: move generic thumb instruction parsing code to new files for use by other features Jon Medhurst (Tixy)
2013-11-14 14:13 ` David Long
[not found] ` <1381871068-27660-9-git-send-email-dave.long@linaro.org>
2013-11-13 17:11 ` [PATCH v2 08/13] ARM: use a function table for determining instruction interpreter actions Jon Medhurst (Tixy)
2013-11-14 15:17 ` David Long
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=1381871068-27660-1-git-send-email-dave.long@linaro.org \
--to=dave.long@linaro.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).