Messages in this thread | | | From | Wang Nan <> | Subject | [PATCH v16 0/8] ARM: kprobes: OPTPROBES and other improvements. | Date | Thu, 11 Dec 2014 18:03:35 +0800 |
| |
This is version 16 patch series of kprobeopt and related improvement. The main change in this version is merging two bugfixs in test-core.c.
https://lkml.org/lkml/2014/12/8/347 https://lkml.org/lkml/2014/12/8/21 https://lkml.org/lkml/2014/12/4/942 https://lkml.org/lkml/2014/12/4/4 https://lkml.org/lkml/2014/12/1/64 https://lkml.org/lkml/2014/11/22/18 https://lkml.org/lkml/2014/11/21/55 https://lkml.org/lkml/2014/11/18/26 https://lkml.org/lkml/2014/11/19/31 https://lkml.org/lkml/2014/11/18/41 https://lkml.org/lkml/2014/10/25/48 https://lkml.org/lkml/2014/10/22/254 https://lkml.org/lkml/2014/8/27/255 https://lkml.org/lkml/2014/8/12/12 https://lkml.org/lkml/2014/8/8/992 https://lkml.org/lkml/2014/8/8/5 https://lkml.org/lkml/2014/8/5/63
Jon Medhurst (Tixy) (2): ARM: kprobes: Add test cases for stack consuming instructions ARM: kprobes: Fix unreliable MRS instruction tests
Masami Hiramatsu (1): kprobes: Pass the original kprobe for preparing optimized kprobe
Wang Nan (5): ARM: probes: move all probe code to dedicate directory ARM: kprobes: introduces checker ARM: kprobes: collects stack consumption for store instructions ARM: kprobes: disallow probing stack consuming instructions ARM: kprobes: enable OPTPROBES for ARM 32
arch/arm/Kconfig | 1 + arch/arm/Makefile | 1 + arch/arm/{kernel => include/asm}/insn.h | 0 arch/arm/include/asm/kprobes.h | 30 +- arch/arm/{kernel => include/asm}/patch.h | 0 arch/arm/include/asm/probes.h | 13 + arch/arm/kernel/Makefile | 16 +- arch/arm/kernel/entry-armv.S | 3 +- arch/arm/kernel/ftrace.c | 3 +- arch/arm/kernel/jump_label.c | 5 +- arch/arm/kernel/patch.c | 3 +- arch/arm/probes/Makefile | 7 + .../{kernel/probes-arm.c => probes/decode-arm.c} | 12 +- .../{kernel/probes-arm.h => probes/decode-arm.h} | 7 +- .../probes-thumb.c => probes/decode-thumb.c} | 16 +- .../probes-thumb.h => probes/decode-thumb.h} | 10 +- arch/arm/{kernel/probes.c => probes/decode.c} | 74 ++++- arch/arm/{kernel/probes.h => probes/decode.h} | 13 +- arch/arm/probes/kprobes/Makefile | 12 + .../kprobes-arm.c => probes/kprobes/actions-arm.c} | 9 +- .../kprobes/actions-common.c} | 4 +- .../kprobes/actions-thumb.c} | 10 +- arch/arm/probes/kprobes/checkers-arm.c | 99 +++++++ arch/arm/probes/kprobes/checkers-common.c | 101 +++++++ arch/arm/probes/kprobes/checkers-thumb.c | 110 +++++++ arch/arm/probes/kprobes/checkers.h | 54 ++++ .../{kernel/kprobes.c => probes/kprobes/core.c} | 49 +++- .../{kernel/kprobes.h => probes/kprobes/core.h} | 12 +- arch/arm/probes/kprobes/opt-arm.c | 317 +++++++++++++++++++++ .../kprobes/test-arm.c} | 37 ++- .../kprobes-test.c => probes/kprobes/test-core.c} | 36 ++- .../kprobes-test.h => probes/kprobes/test-core.h} | 35 ++- .../kprobes/test-thumb.c} | 20 +- arch/arm/probes/uprobes/Makefile | 1 + .../uprobes-arm.c => probes/uprobes/actions-arm.c} | 6 +- .../{kernel/uprobes.c => probes/uprobes/core.c} | 8 +- .../{kernel/uprobes.h => probes/uprobes/core.h} | 0 arch/x86/kernel/kprobes/opt.c | 3 +- include/linux/kprobes.h | 3 +- kernel/kprobes.c | 4 +- 40 files changed, 1027 insertions(+), 117 deletions(-) rename arch/arm/{kernel => include/asm}/insn.h (100%) rename arch/arm/{kernel => include/asm}/patch.h (100%) create mode 100644 arch/arm/probes/Makefile rename arch/arm/{kernel/probes-arm.c => probes/decode-arm.c} (99%) rename arch/arm/{kernel/probes-arm.h => probes/decode-arm.h} (93%) rename arch/arm/{kernel/probes-thumb.c => probes/decode-thumb.c} (98%) rename arch/arm/{kernel/probes-thumb.h => probes/decode-thumb.h} (90%) rename arch/arm/{kernel/probes.c => probes/decode.c} (85%) rename arch/arm/{kernel/probes.h => probes/decode.h} (97%) create mode 100644 arch/arm/probes/kprobes/Makefile rename arch/arm/{kernel/kprobes-arm.c => probes/kprobes/actions-arm.c} (98%) rename arch/arm/{kernel/kprobes-common.c => probes/kprobes/actions-common.c} (98%) rename arch/arm/{kernel/kprobes-thumb.c => probes/kprobes/actions-thumb.c} (98%) create mode 100644 arch/arm/probes/kprobes/checkers-arm.c create mode 100644 arch/arm/probes/kprobes/checkers-common.c create mode 100644 arch/arm/probes/kprobes/checkers-thumb.c create mode 100644 arch/arm/probes/kprobes/checkers.h rename arch/arm/{kernel/kprobes.c => probes/kprobes/core.c} (94%) rename arch/arm/{kernel/kprobes.h => probes/kprobes/core.h} (79%) create mode 100644 arch/arm/probes/kprobes/opt-arm.c rename arch/arm/{kernel/kprobes-test-arm.c => probes/kprobes/test-arm.c} (97%) rename arch/arm/{kernel/kprobes-test.c => probes/kprobes/test-core.c} (98%) rename arch/arm/{kernel/kprobes-test.h => probes/kprobes/test-core.h} (92%) rename arch/arm/{kernel/kprobes-test-thumb.c => probes/kprobes/test-thumb.c} (97%) create mode 100644 arch/arm/probes/uprobes/Makefile rename arch/arm/{kernel/uprobes-arm.c => probes/uprobes/actions-arm.c} (98%) rename arch/arm/{kernel/uprobes.c => probes/uprobes/core.c} (97%) rename arch/arm/{kernel/uprobes.h => probes/uprobes/core.h} (100%)
-- 1.8.4
| |