diff options
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/kprobes-arm.c | 12 | ||||
-rw-r--r-- | arch/arm/kernel/kprobes-thumb.c | 10 | ||||
-rw-r--r-- | arch/arm/kernel/kprobes.c | 2 | ||||
-rw-r--r-- | arch/arm/kernel/kprobes.h | 2 | ||||
-rw-r--r-- | arch/arm/kernel/probes.c | 6 | ||||
-rw-r--r-- | arch/arm/kernel/probes.h | 6 |
6 files changed, 19 insertions, 19 deletions
diff --git a/arch/arm/kernel/kprobes-arm.c b/arch/arm/kernel/kprobes-arm.c index 09a7b1e19c14..d01d9f56f583 100644 --- a/arch/arm/kernel/kprobes-arm.c +++ b/arch/arm/kernel/kprobes-arm.c | |||
@@ -302,10 +302,10 @@ emulate_rdlo12rdhi16rn0rm8_rwflags_nopc(probes_opcode_t insn, | |||
302 | } | 302 | } |
303 | 303 | ||
304 | const union decode_action kprobes_arm_actions[NUM_PROBES_ARM_ACTIONS] = { | 304 | const union decode_action kprobes_arm_actions[NUM_PROBES_ARM_ACTIONS] = { |
305 | [PROBES_EMULATE_NONE] = {.handler = kprobe_emulate_none}, | 305 | [PROBES_EMULATE_NONE] = {.handler = probes_emulate_none}, |
306 | [PROBES_SIMULATE_NOP] = {.handler = kprobe_simulate_nop}, | 306 | [PROBES_SIMULATE_NOP] = {.handler = probes_simulate_nop}, |
307 | [PROBES_PRELOAD_IMM] = {.handler = kprobe_simulate_nop}, | 307 | [PROBES_PRELOAD_IMM] = {.handler = probes_simulate_nop}, |
308 | [PROBES_PRELOAD_REG] = {.handler = kprobe_simulate_nop}, | 308 | [PROBES_PRELOAD_REG] = {.handler = probes_simulate_nop}, |
309 | [PROBES_BRANCH_IMM] = {.handler = simulate_blx1}, | 309 | [PROBES_BRANCH_IMM] = {.handler = simulate_blx1}, |
310 | [PROBES_MRS] = {.handler = simulate_mrs}, | 310 | [PROBES_MRS] = {.handler = simulate_mrs}, |
311 | [PROBES_BRANCH_REG] = {.handler = simulate_blx2bx}, | 311 | [PROBES_BRANCH_REG] = {.handler = simulate_blx2bx}, |
@@ -326,8 +326,8 @@ const union decode_action kprobes_arm_actions[NUM_PROBES_ARM_ACTIONS] = { | |||
326 | [PROBES_DATA_PROCESSING_IMM] = { | 326 | [PROBES_DATA_PROCESSING_IMM] = { |
327 | .handler = emulate_rd12rn16rm0rs8_rwflags}, | 327 | .handler = emulate_rd12rn16rm0rs8_rwflags}, |
328 | [PROBES_MOV_HALFWORD] = {.handler = emulate_rd12rm0_noflags_nopc}, | 328 | [PROBES_MOV_HALFWORD] = {.handler = emulate_rd12rm0_noflags_nopc}, |
329 | [PROBES_SEV] = {.handler = kprobe_emulate_none}, | 329 | [PROBES_SEV] = {.handler = probes_emulate_none}, |
330 | [PROBES_WFE] = {.handler = kprobe_simulate_nop}, | 330 | [PROBES_WFE] = {.handler = probes_simulate_nop}, |
331 | [PROBES_SATURATE] = {.handler = emulate_rd12rn16rm0_rwflags_nopc}, | 331 | [PROBES_SATURATE] = {.handler = emulate_rd12rn16rm0_rwflags_nopc}, |
332 | [PROBES_REV] = {.handler = emulate_rd12rm0_noflags_nopc}, | 332 | [PROBES_REV] = {.handler = emulate_rd12rm0_noflags_nopc}, |
333 | [PROBES_MMI] = {.handler = emulate_rd12rn16rm0_rwflags_nopc}, | 333 | [PROBES_MMI] = {.handler = emulate_rd12rn16rm0_rwflags_nopc}, |
diff --git a/arch/arm/kernel/kprobes-thumb.c b/arch/arm/kernel/kprobes-thumb.c index 610d6932e9bf..2a73330fb19f 100644 --- a/arch/arm/kernel/kprobes-thumb.c +++ b/arch/arm/kernel/kprobes-thumb.c | |||
@@ -613,8 +613,8 @@ const union decode_action kprobes_t16_actions[NUM_PROBES_T16_ACTIONS] = { | |||
613 | [PROBES_T16_SIGN_EXTEND] = {.handler = t16_emulate_loregs_rwflags}, | 613 | [PROBES_T16_SIGN_EXTEND] = {.handler = t16_emulate_loregs_rwflags}, |
614 | [PROBES_T16_PUSH] = {.decoder = t16_decode_push}, | 614 | [PROBES_T16_PUSH] = {.decoder = t16_decode_push}, |
615 | [PROBES_T16_POP] = {.decoder = t16_decode_pop}, | 615 | [PROBES_T16_POP] = {.decoder = t16_decode_pop}, |
616 | [PROBES_T16_SEV] = {.handler = kprobe_emulate_none}, | 616 | [PROBES_T16_SEV] = {.handler = probes_emulate_none}, |
617 | [PROBES_T16_WFE] = {.handler = kprobe_simulate_nop}, | 617 | [PROBES_T16_WFE] = {.handler = probes_simulate_nop}, |
618 | [PROBES_T16_IT] = {.decoder = t16_decode_it}, | 618 | [PROBES_T16_IT] = {.decoder = t16_decode_it}, |
619 | [PROBES_T16_CMP] = {.handler = t16_emulate_loregs_rwflags}, | 619 | [PROBES_T16_CMP] = {.handler = t16_emulate_loregs_rwflags}, |
620 | [PROBES_T16_ADDSUB] = {.handler = t16_emulate_loregs_noitrwflags}, | 620 | [PROBES_T16_ADDSUB] = {.handler = t16_emulate_loregs_noitrwflags}, |
@@ -644,12 +644,12 @@ const union decode_action kprobes_t32_actions[NUM_PROBES_T32_ACTIONS] = { | |||
644 | [PROBES_T32_MOVW] = {.handler = t32_emulate_rd8rn16_noflags}, | 644 | [PROBES_T32_MOVW] = {.handler = t32_emulate_rd8rn16_noflags}, |
645 | [PROBES_T32_SAT] = {.handler = t32_emulate_rd8rn16rm0_rwflags}, | 645 | [PROBES_T32_SAT] = {.handler = t32_emulate_rd8rn16rm0_rwflags}, |
646 | [PROBES_T32_BITFIELD] = {.handler = t32_emulate_rd8rn16_noflags}, | 646 | [PROBES_T32_BITFIELD] = {.handler = t32_emulate_rd8rn16_noflags}, |
647 | [PROBES_T32_SEV] = {.handler = kprobe_emulate_none}, | 647 | [PROBES_T32_SEV] = {.handler = probes_emulate_none}, |
648 | [PROBES_T32_WFE] = {.handler = kprobe_simulate_nop}, | 648 | [PROBES_T32_WFE] = {.handler = probes_simulate_nop}, |
649 | [PROBES_T32_MRS] = {.handler = t32_simulate_mrs}, | 649 | [PROBES_T32_MRS] = {.handler = t32_simulate_mrs}, |
650 | [PROBES_T32_BRANCH_COND] = {.decoder = t32_decode_cond_branch}, | 650 | [PROBES_T32_BRANCH_COND] = {.decoder = t32_decode_cond_branch}, |
651 | [PROBES_T32_BRANCH] = {.handler = t32_simulate_branch}, | 651 | [PROBES_T32_BRANCH] = {.handler = t32_simulate_branch}, |
652 | [PROBES_T32_PLDI] = {.handler = kprobe_simulate_nop}, | 652 | [PROBES_T32_PLDI] = {.handler = probes_simulate_nop}, |
653 | [PROBES_T32_LDR_LIT] = {.handler = t32_simulate_ldr_literal}, | 653 | [PROBES_T32_LDR_LIT] = {.handler = t32_simulate_ldr_literal}, |
654 | [PROBES_T32_LDRSTR] = {.handler = t32_emulate_ldrstr}, | 654 | [PROBES_T32_LDRSTR] = {.handler = t32_emulate_ldrstr}, |
655 | [PROBES_T32_SIGN_EXTEND] = {.handler = t32_emulate_rd8rn16rm0_rwflags}, | 655 | [PROBES_T32_SIGN_EXTEND] = {.handler = t32_emulate_rd8rn16rm0_rwflags}, |
diff --git a/arch/arm/kernel/kprobes.c b/arch/arm/kernel/kprobes.c index b4a3028edffe..bfd7b8161c58 100644 --- a/arch/arm/kernel/kprobes.c +++ b/arch/arm/kernel/kprobes.c | |||
@@ -614,7 +614,7 @@ static struct undef_hook kprobes_arm_break_hook = { | |||
614 | 614 | ||
615 | int __init arch_init_kprobes() | 615 | int __init arch_init_kprobes() |
616 | { | 616 | { |
617 | arm_kprobe_decode_init(); | 617 | arm_probes_decode_init(); |
618 | #ifdef CONFIG_THUMB2_KERNEL | 618 | #ifdef CONFIG_THUMB2_KERNEL |
619 | register_undef_hook(&kprobes_thumb16_break_hook); | 619 | register_undef_hook(&kprobes_thumb16_break_hook); |
620 | register_undef_hook(&kprobes_thumb32_break_hook); | 620 | register_undef_hook(&kprobes_thumb32_break_hook); |
diff --git a/arch/arm/kernel/kprobes.h b/arch/arm/kernel/kprobes.h index d0530b15e473..e2ae4ed168cd 100644 --- a/arch/arm/kernel/kprobes.h +++ b/arch/arm/kernel/kprobes.h | |||
@@ -57,8 +57,6 @@ enum kprobe_insn arm_kprobe_decode_insn(probes_opcode_t, | |||
57 | 57 | ||
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | void __init arm_kprobe_decode_init(void); | ||
61 | |||
62 | #include "probes.h" | 60 | #include "probes.h" |
63 | 61 | ||
64 | #endif /* _ARM_KERNEL_KPROBES_H */ | 62 | #endif /* _ARM_KERNEL_KPROBES_H */ |
diff --git a/arch/arm/kernel/probes.c b/arch/arm/kernel/probes.c index c1cdc0d27e05..92d359a22843 100644 --- a/arch/arm/kernel/probes.c +++ b/arch/arm/kernel/probes.c | |||
@@ -76,7 +76,7 @@ void __init test_alu_write_pc_interworking(void) | |||
76 | #endif /* !test_alu_write_pc_interworking */ | 76 | #endif /* !test_alu_write_pc_interworking */ |
77 | 77 | ||
78 | 78 | ||
79 | void __init arm_kprobe_decode_init(void) | 79 | void __init arm_probes_decode_init(void) |
80 | { | 80 | { |
81 | find_str_pc_offset(); | 81 | find_str_pc_offset(); |
82 | test_load_write_pc_interworking(); | 82 | test_load_write_pc_interworking(); |
@@ -175,13 +175,13 @@ probes_check_cc * const probes_condition_checks[16] = { | |||
175 | }; | 175 | }; |
176 | 176 | ||
177 | 177 | ||
178 | void __kprobes kprobe_simulate_nop(probes_opcode_t opcode, | 178 | void __kprobes probes_simulate_nop(probes_opcode_t opcode, |
179 | struct arch_specific_insn *asi, | 179 | struct arch_specific_insn *asi, |
180 | struct pt_regs *regs) | 180 | struct pt_regs *regs) |
181 | { | 181 | { |
182 | } | 182 | } |
183 | 183 | ||
184 | void __kprobes kprobe_emulate_none(probes_opcode_t opcode, | 184 | void __kprobes probes_emulate_none(probes_opcode_t opcode, |
185 | struct arch_specific_insn *asi, | 185 | struct arch_specific_insn *asi, |
186 | struct pt_regs *regs) | 186 | struct pt_regs *regs) |
187 | { | 187 | { |
diff --git a/arch/arm/kernel/probes.h b/arch/arm/kernel/probes.h index 5a0497f5a8f7..dedff8a5a924 100644 --- a/arch/arm/kernel/probes.h +++ b/arch/arm/kernel/probes.h | |||
@@ -24,6 +24,8 @@ | |||
24 | #include <linux/kprobes.h> | 24 | #include <linux/kprobes.h> |
25 | #include "kprobes.h" | 25 | #include "kprobes.h" |
26 | 26 | ||
27 | void __init arm_probes_decode_init(void); | ||
28 | |||
27 | #if __LINUX_ARM_ARCH__ >= 7 | 29 | #if __LINUX_ARM_ARCH__ >= 7 |
28 | 30 | ||
29 | /* str_pc_offset is architecturally defined from ARMv7 onwards */ | 31 | /* str_pc_offset is architecturally defined from ARMv7 onwards */ |
@@ -131,9 +133,9 @@ static inline void __kprobes alu_write_pc(long pcv, struct pt_regs *regs) | |||
131 | } | 133 | } |
132 | 134 | ||
133 | 135 | ||
134 | void __kprobes kprobe_simulate_nop(probes_opcode_t, struct arch_specific_insn *, | 136 | void __kprobes probes_simulate_nop(probes_opcode_t, struct arch_specific_insn *, |
135 | struct pt_regs *regs); | 137 | struct pt_regs *regs); |
136 | void __kprobes kprobe_emulate_none(probes_opcode_t, struct arch_specific_insn *, | 138 | void __kprobes probes_emulate_none(probes_opcode_t, struct arch_specific_insn *, |
137 | struct pt_regs *regs); | 139 | struct pt_regs *regs); |
138 | 140 | ||
139 | enum kprobe_insn __kprobes | 141 | enum kprobe_insn __kprobes |