This patch series adds basic uprobes support to ARM. It is based on patches
developed earlier by Rabin Vincent. That approach of adding special cases 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.
Some regression bug fixing is still in progress on this, and some more
definitions may be moved from kprobes*.h files into more generic include files.
However, at this point feedback on the basic approach would be appreciated.
These patches are based on v3.10-rc3
David A. Long (2):
ARM: Separate kprobes instruction parsing into routines sharable with
uprobes
ARM: add uprobes support
Rabin Vincent (5):
uprobes: move function declarations out of arch
uprobes: allow ignoring of probe hits
uprobes: allow arch access to xol slot
uprobes: allow arch-specific initialization
uprobes: add arch write opcode hook
arch/arm/Kconfig | 4 +
arch/arm/include/asm/kprobes.h | 17 +-
arch/arm/include/asm/probes.h | 23 ++
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 | 3 +-
arch/arm/kernel/kprobes-arm.c | 496 ++++++-----------------------
arch/arm/kernel/kprobes-common.c | 260 +---------------
arch/arm/kernel/kprobes-thumb.c | 31 +-
arch/arm/kernel/kprobes.c | 7 +-
arch/arm/kernel/kprobes.h | 51 +--
arch/arm/kernel/probes-arm.h | 67 ++++
arch/arm/kernel/probes.c | 624 +++++++++++++++++++++++++++++++++++++
arch/arm/kernel/signal.c | 4 +
arch/arm/kernel/uprobes-arm.c | 221 +++++++++++++
arch/arm/kernel/uprobes.c | 203 ++++++++++++
arch/arm/kernel/uprobes.h | 25 ++
arch/powerpc/include/asm/uprobes.h | 1 -
arch/x86/include/asm/uprobes.h | 7 -
include/linux/uprobes.h | 17 +
kernel/events/uprobes.c | 54 +++-
22 files changed, 1429 insertions(+), 731 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.h
create mode 100644 arch/arm/kernel/probes.c
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
_______________________________________________
linaro-dev mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/linaro-dev