From: David Long <dave.long@linaro.org>
To: linux-arm-kernel@lists.infradead.org,
Russell King <linux@arm.linux.org.uk>
Cc: Rabin Vincent <rabin@rab.in>,
"Jon Medhurst (Tixy)" <tixy@linaro.org>,
Oleg Nesterov <oleg@redhat.com>,
Srikar Dronamraju <srikar@linux.vnet.ibm.com>,
Ingo Molnar <mingo@redhat.com>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
<davem@davemloft.net>, Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Mackerras <paulus@samba.org>,
Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
linux-kernel@vger.kernel.org
Subject: [PATCH v4 00/16] uprobes: Add uprobes support for ARM
Date: Sun, 15 Dec 2013 23:08:34 -0500 [thread overview]
Message-ID: <1387166930-13182-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 are noteworthy changes made for v4:
1) The dependency on kprobe.h is now correctly fixed.
2) A few changes to correctly support bigendian.
3) Remove the opcode address arg from the emulate and simulate functions
and just get the address from the pt_regs structure instead.
This patchset is based on v3.13-rc4.
David A. Long (15):
uprobes: allow ignoring of probe hits
ARM: move shared uprobe/kprobe definitions into new include file
ARM: Move generic arm instruction parsing code to new files for
sharing between features
ARM: move generic thumb instruction parsing code to new files for use
by other feature
ARM: use a function table for determining instruction interpreter
actions
ARM: Remove use of struct kprobe from generic probes code
ARM: Use new opcode type in ARM kprobes/uprobes code
ARM: Make the kprobes condition_check symbol names more generic
ARM: Change more ARM kprobes symbol names to something more
ARM: Rename the shared kprobes/uprobe return value enum
ARM: Change the remaining shared kprobes/uprobes symbols to something
generic
ARM: Add an emulate flag to the kprobes/uprobes instruction decode
functions
ARM: Make arch_specific_insn a define for new arch_probes_insn
structure
ARM: add uprobes support
ARM: Remove uprobes dependency on kprobes
Jon Medhurst (Tixy) (1):
ARM: Disable jprobes test when built into thumb-mode kernel
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 | 36 +
arch/arm/kernel/Makefile | 7 +-
arch/arm/kernel/kprobes-arm.c | 804 ++------------
arch/arm/kernel/kprobes-common.c | 468 +-------
arch/arm/kernel/kprobes-test.c | 18 +-
arch/arm/kernel/kprobes-thumb.c | 1142 +++-----------------
arch/arm/kernel/kprobes.c | 24 +-
arch/arm/kernel/kprobes.h | 399 +------
arch/arm/kernel/{kprobes-arm.c => probes-arm.c} | 441 ++------
arch/arm/kernel/probes-arm.h | 72 ++
.../arm/kernel/{kprobes-thumb.c => probes-thumb.c} | 771 ++-----------
arch/arm/kernel/probes-thumb.h | 95 ++
arch/arm/kernel/{kprobes-common.c => probes.c} | 215 +---
arch/arm/kernel/{kprobes.h => probes.h} | 91 +-
arch/arm/kernel/signal.c | 4 +
arch/arm/kernel/uprobes-arm.c | 223 ++++
arch/arm/kernel/uprobes.c | 198 ++++
arch/arm/kernel/uprobes.h | 27 +
include/linux/uprobes.h | 1 +
kernel/events/uprobes.c | 9 +
25 files changed, 1271 insertions(+), 3828 deletions(-)
create mode 100644 arch/arm/include/asm/probes.h
create mode 100644 arch/arm/include/asm/uprobes.h
copy arch/arm/kernel/{kprobes-arm.c => probes-arm.c} (64%)
create mode 100644 arch/arm/kernel/probes-arm.h
copy arch/arm/kernel/{kprobes-thumb.c => probes-thumb.c} (56%)
create mode 100644 arch/arm/kernel/probes-thumb.h
copy arch/arm/kernel/{kprobes-common.c => probes.c} (67%)
copy arch/arm/kernel/{kprobes.h => probes.h} (85%)
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-12-16 4:08 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-16 4:08 David Long [this message]
2013-12-16 4:08 ` [PATCH v4 01/16] uprobes: allow ignoring of probe hits David Long
2013-12-16 4:08 ` [PATCH v4 02/16] ARM: move shared uprobe/kprobe definitions into new include file David Long
2013-12-20 12:46 ` Jon Medhurst (Tixy)
2014-01-15 16:43 ` David Long
2013-12-16 4:08 ` [PATCH v4 03/16] ARM: Move generic arm instruction parsing code to new files for sharing between features David Long
2013-12-16 4:08 ` [PATCH v4 04/16] ARM: move generic thumb instruction parsing code to new files for use by other feature David Long
2013-12-20 12:46 ` Jon Medhurst (Tixy)
2014-01-15 16:41 ` David Long
2013-12-16 4:08 ` [PATCH v4 05/16] ARM: use a function table for determining instruction interpreter actions David Long
2013-12-20 12:45 ` Jon Medhurst (Tixy)
2014-01-15 16:25 ` David Long
2013-12-16 4:08 ` [PATCH v4 06/16] ARM: Disable jprobes test when built into thumb-mode kernel David Long
2013-12-16 4:08 ` [PATCH v4 07/16] ARM: Remove use of struct kprobe from generic probes code David Long
2013-12-20 13:55 ` Jon Medhurst (Tixy)
2014-01-15 16:44 ` David Long
2013-12-16 4:08 ` [PATCH v4 08/16] ARM: Use new opcode type in ARM kprobes/uprobes code David Long
2013-12-16 4:08 ` [PATCH v4 09/16] ARM: Make the kprobes condition_check symbol names more generic David Long
2013-12-16 4:08 ` [PATCH v4 10/16] ARM: Change more ARM kprobes symbol names to something more David Long
2013-12-16 4:08 ` [PATCH v4 11/16] ARM: Rename the shared kprobes/uprobe return value enum David Long
2013-12-16 4:08 ` [PATCH v4 12/16] ARM: Change the remaining shared kprobes/uprobes symbols to something generic David Long
2013-12-16 4:08 ` [PATCH v4 13/16] ARM: Add an emulate flag to the kprobes/uprobes instruction decode functions David Long
2013-12-20 14:58 ` Jon Medhurst (Tixy)
2014-01-15 19:31 ` David Long
2014-01-16 9:18 ` Jon Medhurst (Tixy)
2014-01-16 18:12 ` David Long
2013-12-16 4:08 ` [PATCH v4 14/16] ARM: Make arch_specific_insn a define for new arch_probes_insn structure David Long
2013-12-16 4:08 ` [PATCH v4 15/16] ARM: add uprobes support David Long
2013-12-20 18:34 ` Jon Medhurst (Tixy)
2013-12-20 19:00 ` Rabin Vincent
2013-12-20 19:47 ` Jon Medhurst (Tixy)
2013-12-23 15:32 ` Oleg Nesterov
2014-01-21 16:51 ` David Long
2013-12-16 4:08 ` [PATCH v4 16/16] ARM: Remove uprobes dependency on kprobes 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=1387166930-13182-1-git-send-email-dave.long@linaro.org \
--to=dave.long@linaro.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@ghostprotocols.net \
--cc=ananth@in.ibm.com \
--cc=anil.s.keshavamurthy@intel.com \
--cc=davem@davemloft.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@redhat.com \
--cc=oleg@redhat.com \
--cc=paulus@samba.org \
--cc=rabin@rab.in \
--cc=srikar@linux.vnet.ibm.com \
--cc=tixy@linaro.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
all inboxes | Powered by JetHome®