diff options
author | David A. Long <dave.long@linaro.org> | 2014-03-05 21:17:23 -0500 |
---|---|---|
committer | David A. Long <dave.long@linaro.org> | 2014-03-18 16:39:37 -0400 |
commit | f145d664df502585618b12ed68c681f82153e02a (patch) | |
tree | 0cf9994b469e8e9342e1444725381d05fa8715e8 | |
parent | 7579f4b3764337b39087d10496af0e741cbfe570 (diff) |
ARM: Make the kprobes condition_check symbol names more generic
In preparation for sharing the ARM kprobes instruction interpreting
code with uprobes, make the symbols names less kprobes-specific.
Signed-off-by: David A. Long <dave.long@linaro.org>
Acked-by: Jon Medhurst <tixy@linaro.org>
-rw-r--r-- | arch/arm/include/asm/probes.h | 11 | ||||
-rw-r--r-- | arch/arm/kernel/kprobes-arm.c | 16 | ||||
-rw-r--r-- | arch/arm/kernel/kprobes-common.c | 14 | ||||
-rw-r--r-- | arch/arm/kernel/kprobes-thumb.c | 76 | ||||
-rw-r--r-- | arch/arm/kernel/kprobes.h | 8 | ||||
-rw-r--r-- | arch/arm/kernel/probes-arm.c | 16 | ||||
-rw-r--r-- | arch/arm/kernel/probes-arm.h | 10 | ||||
-rw-r--r-- | arch/arm/kernel/probes-thumb.c | 10 | ||||
-rw-r--r-- | arch/arm/kernel/probes.c | 22 | ||||
-rw-r--r-- | arch/arm/kernel/probes.h | 12 |
10 files changed, 98 insertions, 97 deletions
diff --git a/arch/arm/include/asm/probes.h b/arch/arm/include/asm/probes.h index 4d014c4aa1e7..c4acf6c8a2d4 100644 --- a/arch/arm/include/asm/probes.h +++ b/arch/arm/include/asm/probes.h | |||
@@ -20,22 +20,23 @@ | |||
20 | #define _ASM_PROBES_H | 20 | #define _ASM_PROBES_H |
21 | 21 | ||
22 | struct kprobe; | 22 | struct kprobe; |
23 | typedef u32 probes_opcode_t; | ||
23 | 24 | ||
24 | struct arch_specific_insn; | 25 | struct arch_specific_insn; |
25 | typedef void (kprobe_insn_handler_t)(kprobe_opcode_t, | 26 | typedef void (kprobe_insn_handler_t)(probes_opcode_t, |
26 | struct arch_specific_insn *, | 27 | struct arch_specific_insn *, |
27 | struct pt_regs *); | 28 | struct pt_regs *); |
28 | typedef unsigned long (kprobe_check_cc)(unsigned long); | 29 | typedef unsigned long (probes_check_cc)(unsigned long); |
29 | typedef void (kprobe_insn_singlestep_t)(kprobe_opcode_t, | 30 | typedef void (kprobe_insn_singlestep_t)(probes_opcode_t, |
30 | struct arch_specific_insn *, | 31 | struct arch_specific_insn *, |
31 | struct pt_regs *); | 32 | struct pt_regs *); |
32 | typedef void (kprobe_insn_fn_t)(void); | 33 | typedef void (kprobe_insn_fn_t)(void); |
33 | 34 | ||
34 | /* Architecture specific copy of original instruction. */ | 35 | /* Architecture specific copy of original instruction. */ |
35 | struct arch_specific_insn { | 36 | struct arch_specific_insn { |
36 | kprobe_opcode_t *insn; | 37 | probes_opcode_t *insn; |
37 | kprobe_insn_handler_t *insn_handler; | 38 | kprobe_insn_handler_t *insn_handler; |
38 | kprobe_check_cc *insn_check_cc; | 39 | probes_check_cc *insn_check_cc; |
39 | kprobe_insn_singlestep_t *insn_singlestep; | 40 | kprobe_insn_singlestep_t *insn_singlestep; |
40 | kprobe_insn_fn_t *insn_fn; | 41 | kprobe_insn_fn_t *insn_fn; |
41 | }; | 42 | }; |
diff --git a/arch/arm/kernel/kprobes-arm.c b/arch/arm/kernel/kprobes-arm.c index 4a232e682e5a..09a7b1e19c14 100644 --- a/arch/arm/kernel/kprobes-arm.c +++ b/arch/arm/kernel/kprobes-arm.c | |||
@@ -73,7 +73,7 @@ | |||
73 | #endif | 73 | #endif |
74 | 74 | ||
75 | static void __kprobes | 75 | static void __kprobes |
76 | emulate_ldrdstrd(kprobe_opcode_t insn, | 76 | emulate_ldrdstrd(probes_opcode_t insn, |
77 | struct arch_specific_insn *asi, struct pt_regs *regs) | 77 | struct arch_specific_insn *asi, struct pt_regs *regs) |
78 | { | 78 | { |
79 | unsigned long pc = regs->ARM_pc + 4; | 79 | unsigned long pc = regs->ARM_pc + 4; |
@@ -102,7 +102,7 @@ emulate_ldrdstrd(kprobe_opcode_t insn, | |||
102 | } | 102 | } |
103 | 103 | ||
104 | static void __kprobes | 104 | static void __kprobes |
105 | emulate_ldr(kprobe_opcode_t insn, | 105 | emulate_ldr(probes_opcode_t insn, |
106 | struct arch_specific_insn *asi, struct pt_regs *regs) | 106 | struct arch_specific_insn *asi, struct pt_regs *regs) |
107 | { | 107 | { |
108 | unsigned long pc = regs->ARM_pc + 4; | 108 | unsigned long pc = regs->ARM_pc + 4; |
@@ -132,7 +132,7 @@ emulate_ldr(kprobe_opcode_t insn, | |||
132 | } | 132 | } |
133 | 133 | ||
134 | static void __kprobes | 134 | static void __kprobes |
135 | emulate_str(kprobe_opcode_t insn, | 135 | emulate_str(probes_opcode_t insn, |
136 | struct arch_specific_insn *asi, struct pt_regs *regs) | 136 | struct arch_specific_insn *asi, struct pt_regs *regs) |
137 | { | 137 | { |
138 | unsigned long rtpc = regs->ARM_pc - 4 + str_pc_offset; | 138 | unsigned long rtpc = regs->ARM_pc - 4 + str_pc_offset; |
@@ -159,7 +159,7 @@ emulate_str(kprobe_opcode_t insn, | |||
159 | } | 159 | } |
160 | 160 | ||
161 | static void __kprobes | 161 | static void __kprobes |
162 | emulate_rd12rn16rm0rs8_rwflags(kprobe_opcode_t insn, | 162 | emulate_rd12rn16rm0rs8_rwflags(probes_opcode_t insn, |
163 | struct arch_specific_insn *asi, struct pt_regs *regs) | 163 | struct arch_specific_insn *asi, struct pt_regs *regs) |
164 | { | 164 | { |
165 | unsigned long pc = regs->ARM_pc + 4; | 165 | unsigned long pc = regs->ARM_pc + 4; |
@@ -194,7 +194,7 @@ emulate_rd12rn16rm0rs8_rwflags(kprobe_opcode_t insn, | |||
194 | } | 194 | } |
195 | 195 | ||
196 | static void __kprobes | 196 | static void __kprobes |
197 | emulate_rd12rn16rm0_rwflags_nopc(kprobe_opcode_t insn, | 197 | emulate_rd12rn16rm0_rwflags_nopc(probes_opcode_t insn, |
198 | struct arch_specific_insn *asi, struct pt_regs *regs) | 198 | struct arch_specific_insn *asi, struct pt_regs *regs) |
199 | { | 199 | { |
200 | int rd = (insn >> 12) & 0xf; | 200 | int rd = (insn >> 12) & 0xf; |
@@ -221,7 +221,7 @@ emulate_rd12rn16rm0_rwflags_nopc(kprobe_opcode_t insn, | |||
221 | } | 221 | } |
222 | 222 | ||
223 | static void __kprobes | 223 | static void __kprobes |
224 | emulate_rd16rn12rm0rs8_rwflags_nopc(kprobe_opcode_t insn, | 224 | emulate_rd16rn12rm0rs8_rwflags_nopc(probes_opcode_t insn, |
225 | struct arch_specific_insn *asi, | 225 | struct arch_specific_insn *asi, |
226 | struct pt_regs *regs) | 226 | struct pt_regs *regs) |
227 | { | 227 | { |
@@ -251,7 +251,7 @@ emulate_rd16rn12rm0rs8_rwflags_nopc(kprobe_opcode_t insn, | |||
251 | } | 251 | } |
252 | 252 | ||
253 | static void __kprobes | 253 | static void __kprobes |
254 | emulate_rd12rm0_noflags_nopc(kprobe_opcode_t insn, | 254 | emulate_rd12rm0_noflags_nopc(probes_opcode_t insn, |
255 | struct arch_specific_insn *asi, struct pt_regs *regs) | 255 | struct arch_specific_insn *asi, struct pt_regs *regs) |
256 | { | 256 | { |
257 | int rd = (insn >> 12) & 0xf; | 257 | int rd = (insn >> 12) & 0xf; |
@@ -271,7 +271,7 @@ emulate_rd12rm0_noflags_nopc(kprobe_opcode_t insn, | |||
271 | } | 271 | } |
272 | 272 | ||
273 | static void __kprobes | 273 | static void __kprobes |
274 | emulate_rdlo12rdhi16rn0rm8_rwflags_nopc(kprobe_opcode_t insn, | 274 | emulate_rdlo12rdhi16rn0rm8_rwflags_nopc(probes_opcode_t insn, |
275 | struct arch_specific_insn *asi, | 275 | struct arch_specific_insn *asi, |
276 | struct pt_regs *regs) | 276 | struct pt_regs *regs) |
277 | { | 277 | { |
diff --git a/arch/arm/kernel/kprobes-common.c b/arch/arm/kernel/kprobes-common.c index abe03890f84d..08b55605c1ec 100644 --- a/arch/arm/kernel/kprobes-common.c +++ b/arch/arm/kernel/kprobes-common.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include "kprobes.h" | 17 | #include "kprobes.h" |
18 | 18 | ||
19 | 19 | ||
20 | static void __kprobes simulate_ldm1stm1(kprobe_opcode_t insn, | 20 | static void __kprobes simulate_ldm1stm1(probes_opcode_t insn, |
21 | struct arch_specific_insn *asi, | 21 | struct arch_specific_insn *asi, |
22 | struct pt_regs *regs) | 22 | struct pt_regs *regs) |
23 | { | 23 | { |
@@ -59,7 +59,7 @@ static void __kprobes simulate_ldm1stm1(kprobe_opcode_t insn, | |||
59 | } | 59 | } |
60 | } | 60 | } |
61 | 61 | ||
62 | static void __kprobes simulate_stm1_pc(kprobe_opcode_t insn, | 62 | static void __kprobes simulate_stm1_pc(probes_opcode_t insn, |
63 | struct arch_specific_insn *asi, | 63 | struct arch_specific_insn *asi, |
64 | struct pt_regs *regs) | 64 | struct pt_regs *regs) |
65 | { | 65 | { |
@@ -70,7 +70,7 @@ static void __kprobes simulate_stm1_pc(kprobe_opcode_t insn, | |||
70 | regs->ARM_pc = (long)addr + 4; | 70 | regs->ARM_pc = (long)addr + 4; |
71 | } | 71 | } |
72 | 72 | ||
73 | static void __kprobes simulate_ldm1_pc(kprobe_opcode_t insn, | 73 | static void __kprobes simulate_ldm1_pc(probes_opcode_t insn, |
74 | struct arch_specific_insn *asi, | 74 | struct arch_specific_insn *asi, |
75 | struct pt_regs *regs) | 75 | struct pt_regs *regs) |
76 | { | 76 | { |
@@ -79,7 +79,7 @@ static void __kprobes simulate_ldm1_pc(kprobe_opcode_t insn, | |||
79 | } | 79 | } |
80 | 80 | ||
81 | static void __kprobes | 81 | static void __kprobes |
82 | emulate_generic_r0_12_noflags(kprobe_opcode_t insn, | 82 | emulate_generic_r0_12_noflags(probes_opcode_t insn, |
83 | struct arch_specific_insn *asi, struct pt_regs *regs) | 83 | struct arch_specific_insn *asi, struct pt_regs *regs) |
84 | { | 84 | { |
85 | register void *rregs asm("r1") = regs; | 85 | register void *rregs asm("r1") = regs; |
@@ -107,7 +107,7 @@ emulate_generic_r0_12_noflags(kprobe_opcode_t insn, | |||
107 | } | 107 | } |
108 | 108 | ||
109 | static void __kprobes | 109 | static void __kprobes |
110 | emulate_generic_r2_14_noflags(kprobe_opcode_t insn, | 110 | emulate_generic_r2_14_noflags(probes_opcode_t insn, |
111 | struct arch_specific_insn *asi, struct pt_regs *regs) | 111 | struct arch_specific_insn *asi, struct pt_regs *regs) |
112 | { | 112 | { |
113 | emulate_generic_r0_12_noflags(insn, asi, | 113 | emulate_generic_r0_12_noflags(insn, asi, |
@@ -115,7 +115,7 @@ emulate_generic_r2_14_noflags(kprobe_opcode_t insn, | |||
115 | } | 115 | } |
116 | 116 | ||
117 | static void __kprobes | 117 | static void __kprobes |
118 | emulate_ldm_r3_15(kprobe_opcode_t insn, | 118 | emulate_ldm_r3_15(probes_opcode_t insn, |
119 | struct arch_specific_insn *asi, struct pt_regs *regs) | 119 | struct arch_specific_insn *asi, struct pt_regs *regs) |
120 | { | 120 | { |
121 | emulate_generic_r0_12_noflags(insn, asi, | 121 | emulate_generic_r0_12_noflags(insn, asi, |
@@ -124,7 +124,7 @@ emulate_ldm_r3_15(kprobe_opcode_t insn, | |||
124 | } | 124 | } |
125 | 125 | ||
126 | enum kprobe_insn __kprobes | 126 | enum kprobe_insn __kprobes |
127 | kprobe_decode_ldmstm(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 127 | kprobe_decode_ldmstm(probes_opcode_t insn, struct arch_specific_insn *asi, |
128 | const struct decode_header *h) | 128 | const struct decode_header *h) |
129 | { | 129 | { |
130 | kprobe_insn_handler_t *handler = 0; | 130 | kprobe_insn_handler_t *handler = 0; |
diff --git a/arch/arm/kernel/kprobes-thumb.c b/arch/arm/kernel/kprobes-thumb.c index adc08f8d4a1c..610d6932e9bf 100644 --- a/arch/arm/kernel/kprobes-thumb.c +++ b/arch/arm/kernel/kprobes-thumb.c | |||
@@ -23,7 +23,7 @@ | |||
23 | /* t32 thumb actions */ | 23 | /* t32 thumb actions */ |
24 | 24 | ||
25 | static void __kprobes | 25 | static void __kprobes |
26 | t32_simulate_table_branch(kprobe_opcode_t insn, | 26 | t32_simulate_table_branch(probes_opcode_t insn, |
27 | struct arch_specific_insn *asi, struct pt_regs *regs) | 27 | struct arch_specific_insn *asi, struct pt_regs *regs) |
28 | { | 28 | { |
29 | unsigned long pc = regs->ARM_pc; | 29 | unsigned long pc = regs->ARM_pc; |
@@ -43,7 +43,7 @@ t32_simulate_table_branch(kprobe_opcode_t insn, | |||
43 | } | 43 | } |
44 | 44 | ||
45 | static void __kprobes | 45 | static void __kprobes |
46 | t32_simulate_mrs(kprobe_opcode_t insn, | 46 | t32_simulate_mrs(probes_opcode_t insn, |
47 | struct arch_specific_insn *asi, struct pt_regs *regs) | 47 | struct arch_specific_insn *asi, struct pt_regs *regs) |
48 | { | 48 | { |
49 | int rd = (insn >> 8) & 0xf; | 49 | int rd = (insn >> 8) & 0xf; |
@@ -52,7 +52,7 @@ t32_simulate_mrs(kprobe_opcode_t insn, | |||
52 | } | 52 | } |
53 | 53 | ||
54 | static void __kprobes | 54 | static void __kprobes |
55 | t32_simulate_cond_branch(kprobe_opcode_t insn, | 55 | t32_simulate_cond_branch(probes_opcode_t insn, |
56 | struct arch_specific_insn *asi, struct pt_regs *regs) | 56 | struct arch_specific_insn *asi, struct pt_regs *regs) |
57 | { | 57 | { |
58 | unsigned long pc = regs->ARM_pc; | 58 | unsigned long pc = regs->ARM_pc; |
@@ -67,17 +67,17 @@ t32_simulate_cond_branch(kprobe_opcode_t insn, | |||
67 | } | 67 | } |
68 | 68 | ||
69 | static enum kprobe_insn __kprobes | 69 | static enum kprobe_insn __kprobes |
70 | t32_decode_cond_branch(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 70 | t32_decode_cond_branch(probes_opcode_t insn, struct arch_specific_insn *asi, |
71 | const struct decode_header *d) | 71 | const struct decode_header *d) |
72 | { | 72 | { |
73 | int cc = (insn >> 22) & 0xf; | 73 | int cc = (insn >> 22) & 0xf; |
74 | asi->insn_check_cc = kprobe_condition_checks[cc]; | 74 | asi->insn_check_cc = probes_condition_checks[cc]; |
75 | asi->insn_handler = t32_simulate_cond_branch; | 75 | asi->insn_handler = t32_simulate_cond_branch; |
76 | return INSN_GOOD_NO_SLOT; | 76 | return INSN_GOOD_NO_SLOT; |
77 | } | 77 | } |
78 | 78 | ||
79 | static void __kprobes | 79 | static void __kprobes |
80 | t32_simulate_branch(kprobe_opcode_t insn, | 80 | t32_simulate_branch(probes_opcode_t insn, |
81 | struct arch_specific_insn *asi, struct pt_regs *regs) | 81 | struct arch_specific_insn *asi, struct pt_regs *regs) |
82 | { | 82 | { |
83 | unsigned long pc = regs->ARM_pc; | 83 | unsigned long pc = regs->ARM_pc; |
@@ -105,7 +105,7 @@ t32_simulate_branch(kprobe_opcode_t insn, | |||
105 | } | 105 | } |
106 | 106 | ||
107 | static void __kprobes | 107 | static void __kprobes |
108 | t32_simulate_ldr_literal(kprobe_opcode_t insn, | 108 | t32_simulate_ldr_literal(probes_opcode_t insn, |
109 | struct arch_specific_insn *asi, struct pt_regs *regs) | 109 | struct arch_specific_insn *asi, struct pt_regs *regs) |
110 | { | 110 | { |
111 | unsigned long addr = regs->ARM_pc & ~3; | 111 | unsigned long addr = regs->ARM_pc & ~3; |
@@ -143,7 +143,7 @@ t32_simulate_ldr_literal(kprobe_opcode_t insn, | |||
143 | } | 143 | } |
144 | 144 | ||
145 | static enum kprobe_insn __kprobes | 145 | static enum kprobe_insn __kprobes |
146 | t32_decode_ldmstm(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 146 | t32_decode_ldmstm(probes_opcode_t insn, struct arch_specific_insn *asi, |
147 | const struct decode_header *d) | 147 | const struct decode_header *d) |
148 | { | 148 | { |
149 | enum kprobe_insn ret = kprobe_decode_ldmstm(insn, asi, d); | 149 | enum kprobe_insn ret = kprobe_decode_ldmstm(insn, asi, d); |
@@ -157,7 +157,7 @@ t32_decode_ldmstm(kprobe_opcode_t insn, struct arch_specific_insn *asi, | |||
157 | } | 157 | } |
158 | 158 | ||
159 | static void __kprobes | 159 | static void __kprobes |
160 | t32_emulate_ldrdstrd(kprobe_opcode_t insn, | 160 | t32_emulate_ldrdstrd(probes_opcode_t insn, |
161 | struct arch_specific_insn *asi, struct pt_regs *regs) | 161 | struct arch_specific_insn *asi, struct pt_regs *regs) |
162 | { | 162 | { |
163 | unsigned long pc = regs->ARM_pc & ~3; | 163 | unsigned long pc = regs->ARM_pc & ~3; |
@@ -184,7 +184,7 @@ t32_emulate_ldrdstrd(kprobe_opcode_t insn, | |||
184 | } | 184 | } |
185 | 185 | ||
186 | static void __kprobes | 186 | static void __kprobes |
187 | t32_emulate_ldrstr(kprobe_opcode_t insn, | 187 | t32_emulate_ldrstr(probes_opcode_t insn, |
188 | struct arch_specific_insn *asi, struct pt_regs *regs) | 188 | struct arch_specific_insn *asi, struct pt_regs *regs) |
189 | { | 189 | { |
190 | int rt = (insn >> 12) & 0xf; | 190 | int rt = (insn >> 12) & 0xf; |
@@ -210,7 +210,7 @@ t32_emulate_ldrstr(kprobe_opcode_t insn, | |||
210 | } | 210 | } |
211 | 211 | ||
212 | static void __kprobes | 212 | static void __kprobes |
213 | t32_emulate_rd8rn16rm0_rwflags(kprobe_opcode_t insn, | 213 | t32_emulate_rd8rn16rm0_rwflags(probes_opcode_t insn, |
214 | struct arch_specific_insn *asi, struct pt_regs *regs) | 214 | struct arch_specific_insn *asi, struct pt_regs *regs) |
215 | { | 215 | { |
216 | int rd = (insn >> 8) & 0xf; | 216 | int rd = (insn >> 8) & 0xf; |
@@ -237,7 +237,7 @@ t32_emulate_rd8rn16rm0_rwflags(kprobe_opcode_t insn, | |||
237 | } | 237 | } |
238 | 238 | ||
239 | static void __kprobes | 239 | static void __kprobes |
240 | t32_emulate_rd8pc16_noflags(kprobe_opcode_t insn, | 240 | t32_emulate_rd8pc16_noflags(probes_opcode_t insn, |
241 | struct arch_specific_insn *asi, struct pt_regs *regs) | 241 | struct arch_specific_insn *asi, struct pt_regs *regs) |
242 | { | 242 | { |
243 | unsigned long pc = regs->ARM_pc; | 243 | unsigned long pc = regs->ARM_pc; |
@@ -257,7 +257,7 @@ t32_emulate_rd8pc16_noflags(kprobe_opcode_t insn, | |||
257 | } | 257 | } |
258 | 258 | ||
259 | static void __kprobes | 259 | static void __kprobes |
260 | t32_emulate_rd8rn16_noflags(kprobe_opcode_t insn, | 260 | t32_emulate_rd8rn16_noflags(probes_opcode_t insn, |
261 | struct arch_specific_insn *asi, struct pt_regs *regs) | 261 | struct arch_specific_insn *asi, struct pt_regs *regs) |
262 | { | 262 | { |
263 | int rd = (insn >> 8) & 0xf; | 263 | int rd = (insn >> 8) & 0xf; |
@@ -277,7 +277,7 @@ t32_emulate_rd8rn16_noflags(kprobe_opcode_t insn, | |||
277 | } | 277 | } |
278 | 278 | ||
279 | static void __kprobes | 279 | static void __kprobes |
280 | t32_emulate_rdlo12rdhi8rn16rm0_noflags(kprobe_opcode_t insn, | 280 | t32_emulate_rdlo12rdhi8rn16rm0_noflags(probes_opcode_t insn, |
281 | struct arch_specific_insn *asi, | 281 | struct arch_specific_insn *asi, |
282 | struct pt_regs *regs) | 282 | struct pt_regs *regs) |
283 | { | 283 | { |
@@ -305,7 +305,7 @@ t32_emulate_rdlo12rdhi8rn16rm0_noflags(kprobe_opcode_t insn, | |||
305 | /* t16 thumb actions */ | 305 | /* t16 thumb actions */ |
306 | 306 | ||
307 | static void __kprobes | 307 | static void __kprobes |
308 | t16_simulate_bxblx(kprobe_opcode_t insn, | 308 | t16_simulate_bxblx(probes_opcode_t insn, |
309 | struct arch_specific_insn *asi, struct pt_regs *regs) | 309 | struct arch_specific_insn *asi, struct pt_regs *regs) |
310 | { | 310 | { |
311 | unsigned long pc = regs->ARM_pc + 2; | 311 | unsigned long pc = regs->ARM_pc + 2; |
@@ -319,7 +319,7 @@ t16_simulate_bxblx(kprobe_opcode_t insn, | |||
319 | } | 319 | } |
320 | 320 | ||
321 | static void __kprobes | 321 | static void __kprobes |
322 | t16_simulate_ldr_literal(kprobe_opcode_t insn, | 322 | t16_simulate_ldr_literal(probes_opcode_t insn, |
323 | struct arch_specific_insn *asi, struct pt_regs *regs) | 323 | struct arch_specific_insn *asi, struct pt_regs *regs) |
324 | { | 324 | { |
325 | unsigned long *base = (unsigned long *)((regs->ARM_pc + 2) & ~3); | 325 | unsigned long *base = (unsigned long *)((regs->ARM_pc + 2) & ~3); |
@@ -329,7 +329,7 @@ t16_simulate_ldr_literal(kprobe_opcode_t insn, | |||
329 | } | 329 | } |
330 | 330 | ||
331 | static void __kprobes | 331 | static void __kprobes |
332 | t16_simulate_ldrstr_sp_relative(kprobe_opcode_t insn, | 332 | t16_simulate_ldrstr_sp_relative(probes_opcode_t insn, |
333 | struct arch_specific_insn *asi, struct pt_regs *regs) | 333 | struct arch_specific_insn *asi, struct pt_regs *regs) |
334 | { | 334 | { |
335 | unsigned long* base = (unsigned long *)regs->ARM_sp; | 335 | unsigned long* base = (unsigned long *)regs->ARM_sp; |
@@ -342,7 +342,7 @@ t16_simulate_ldrstr_sp_relative(kprobe_opcode_t insn, | |||
342 | } | 342 | } |
343 | 343 | ||
344 | static void __kprobes | 344 | static void __kprobes |
345 | t16_simulate_reladr(kprobe_opcode_t insn, | 345 | t16_simulate_reladr(probes_opcode_t insn, |
346 | struct arch_specific_insn *asi, struct pt_regs *regs) | 346 | struct arch_specific_insn *asi, struct pt_regs *regs) |
347 | { | 347 | { |
348 | unsigned long base = (insn & 0x800) ? regs->ARM_sp | 348 | unsigned long base = (insn & 0x800) ? regs->ARM_sp |
@@ -353,7 +353,7 @@ t16_simulate_reladr(kprobe_opcode_t insn, | |||
353 | } | 353 | } |
354 | 354 | ||
355 | static void __kprobes | 355 | static void __kprobes |
356 | t16_simulate_add_sp_imm(kprobe_opcode_t insn, | 356 | t16_simulate_add_sp_imm(probes_opcode_t insn, |
357 | struct arch_specific_insn *asi, struct pt_regs *regs) | 357 | struct arch_specific_insn *asi, struct pt_regs *regs) |
358 | { | 358 | { |
359 | long imm = insn & 0x7f; | 359 | long imm = insn & 0x7f; |
@@ -364,11 +364,11 @@ t16_simulate_add_sp_imm(kprobe_opcode_t insn, | |||
364 | } | 364 | } |
365 | 365 | ||
366 | static void __kprobes | 366 | static void __kprobes |
367 | t16_simulate_cbz(kprobe_opcode_t insn, | 367 | t16_simulate_cbz(probes_opcode_t insn, |
368 | struct arch_specific_insn *asi, struct pt_regs *regs) | 368 | struct arch_specific_insn *asi, struct pt_regs *regs) |
369 | { | 369 | { |
370 | int rn = insn & 0x7; | 370 | int rn = insn & 0x7; |
371 | kprobe_opcode_t nonzero = regs->uregs[rn] ? insn : ~insn; | 371 | probes_opcode_t nonzero = regs->uregs[rn] ? insn : ~insn; |
372 | if (nonzero & 0x800) { | 372 | if (nonzero & 0x800) { |
373 | long i = insn & 0x200; | 373 | long i = insn & 0x200; |
374 | long imm5 = insn & 0xf8; | 374 | long imm5 = insn & 0xf8; |
@@ -378,7 +378,7 @@ t16_simulate_cbz(kprobe_opcode_t insn, | |||
378 | } | 378 | } |
379 | 379 | ||
380 | static void __kprobes | 380 | static void __kprobes |
381 | t16_simulate_it(kprobe_opcode_t insn, | 381 | t16_simulate_it(probes_opcode_t insn, |
382 | struct arch_specific_insn *asi, struct pt_regs *regs) | 382 | struct arch_specific_insn *asi, struct pt_regs *regs) |
383 | { | 383 | { |
384 | /* | 384 | /* |
@@ -395,7 +395,7 @@ t16_simulate_it(kprobe_opcode_t insn, | |||
395 | } | 395 | } |
396 | 396 | ||
397 | static void __kprobes | 397 | static void __kprobes |
398 | t16_singlestep_it(kprobe_opcode_t insn, | 398 | t16_singlestep_it(probes_opcode_t insn, |
399 | struct arch_specific_insn *asi, struct pt_regs *regs) | 399 | struct arch_specific_insn *asi, struct pt_regs *regs) |
400 | { | 400 | { |
401 | regs->ARM_pc += 2; | 401 | regs->ARM_pc += 2; |
@@ -403,7 +403,7 @@ t16_singlestep_it(kprobe_opcode_t insn, | |||
403 | } | 403 | } |
404 | 404 | ||
405 | static enum kprobe_insn __kprobes | 405 | static enum kprobe_insn __kprobes |
406 | t16_decode_it(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 406 | t16_decode_it(probes_opcode_t insn, struct arch_specific_insn *asi, |
407 | const struct decode_header *d) | 407 | const struct decode_header *d) |
408 | { | 408 | { |
409 | asi->insn_singlestep = t16_singlestep_it; | 409 | asi->insn_singlestep = t16_singlestep_it; |
@@ -411,7 +411,7 @@ t16_decode_it(kprobe_opcode_t insn, struct arch_specific_insn *asi, | |||
411 | } | 411 | } |
412 | 412 | ||
413 | static void __kprobes | 413 | static void __kprobes |
414 | t16_simulate_cond_branch(kprobe_opcode_t insn, | 414 | t16_simulate_cond_branch(probes_opcode_t insn, |
415 | struct arch_specific_insn *asi, struct pt_regs *regs) | 415 | struct arch_specific_insn *asi, struct pt_regs *regs) |
416 | { | 416 | { |
417 | unsigned long pc = regs->ARM_pc + 2; | 417 | unsigned long pc = regs->ARM_pc + 2; |
@@ -421,17 +421,17 @@ t16_simulate_cond_branch(kprobe_opcode_t insn, | |||
421 | } | 421 | } |
422 | 422 | ||
423 | static enum kprobe_insn __kprobes | 423 | static enum kprobe_insn __kprobes |
424 | t16_decode_cond_branch(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 424 | t16_decode_cond_branch(probes_opcode_t insn, struct arch_specific_insn *asi, |
425 | const struct decode_header *d) | 425 | const struct decode_header *d) |
426 | { | 426 | { |
427 | int cc = (insn >> 8) & 0xf; | 427 | int cc = (insn >> 8) & 0xf; |
428 | asi->insn_check_cc = kprobe_condition_checks[cc]; | 428 | asi->insn_check_cc = probes_condition_checks[cc]; |
429 | asi->insn_handler = t16_simulate_cond_branch; | 429 | asi->insn_handler = t16_simulate_cond_branch; |
430 | return INSN_GOOD_NO_SLOT; | 430 | return INSN_GOOD_NO_SLOT; |
431 | } | 431 | } |
432 | 432 | ||
433 | static void __kprobes | 433 | static void __kprobes |
434 | t16_simulate_branch(kprobe_opcode_t insn, | 434 | t16_simulate_branch(probes_opcode_t insn, |
435 | struct arch_specific_insn *asi, struct pt_regs *regs) | 435 | struct arch_specific_insn *asi, struct pt_regs *regs) |
436 | { | 436 | { |
437 | unsigned long pc = regs->ARM_pc + 2; | 437 | unsigned long pc = regs->ARM_pc + 2; |
@@ -441,7 +441,7 @@ t16_simulate_branch(kprobe_opcode_t insn, | |||
441 | } | 441 | } |
442 | 442 | ||
443 | static unsigned long __kprobes | 443 | static unsigned long __kprobes |
444 | t16_emulate_loregs(kprobe_opcode_t insn, | 444 | t16_emulate_loregs(probes_opcode_t insn, |
445 | struct arch_specific_insn *asi, struct pt_regs *regs) | 445 | struct arch_specific_insn *asi, struct pt_regs *regs) |
446 | { | 446 | { |
447 | unsigned long oldcpsr = regs->ARM_cpsr; | 447 | unsigned long oldcpsr = regs->ARM_cpsr; |
@@ -464,14 +464,14 @@ t16_emulate_loregs(kprobe_opcode_t insn, | |||
464 | } | 464 | } |
465 | 465 | ||
466 | static void __kprobes | 466 | static void __kprobes |
467 | t16_emulate_loregs_rwflags(kprobe_opcode_t insn, | 467 | t16_emulate_loregs_rwflags(probes_opcode_t insn, |
468 | struct arch_specific_insn *asi, struct pt_regs *regs) | 468 | struct arch_specific_insn *asi, struct pt_regs *regs) |
469 | { | 469 | { |
470 | regs->ARM_cpsr = t16_emulate_loregs(insn, asi, regs); | 470 | regs->ARM_cpsr = t16_emulate_loregs(insn, asi, regs); |
471 | } | 471 | } |
472 | 472 | ||
473 | static void __kprobes | 473 | static void __kprobes |
474 | t16_emulate_loregs_noitrwflags(kprobe_opcode_t insn, | 474 | t16_emulate_loregs_noitrwflags(probes_opcode_t insn, |
475 | struct arch_specific_insn *asi, struct pt_regs *regs) | 475 | struct arch_specific_insn *asi, struct pt_regs *regs) |
476 | { | 476 | { |
477 | unsigned long cpsr = t16_emulate_loregs(insn, asi, regs); | 477 | unsigned long cpsr = t16_emulate_loregs(insn, asi, regs); |
@@ -480,7 +480,7 @@ t16_emulate_loregs_noitrwflags(kprobe_opcode_t insn, | |||
480 | } | 480 | } |
481 | 481 | ||
482 | static void __kprobes | 482 | static void __kprobes |
483 | t16_emulate_hiregs(kprobe_opcode_t insn, | 483 | t16_emulate_hiregs(probes_opcode_t insn, |
484 | struct arch_specific_insn *asi, struct pt_regs *regs) | 484 | struct arch_specific_insn *asi, struct pt_regs *regs) |
485 | { | 485 | { |
486 | unsigned long pc = regs->ARM_pc + 2; | 486 | unsigned long pc = regs->ARM_pc + 2; |
@@ -511,7 +511,7 @@ t16_emulate_hiregs(kprobe_opcode_t insn, | |||
511 | } | 511 | } |
512 | 512 | ||
513 | static enum kprobe_insn __kprobes | 513 | static enum kprobe_insn __kprobes |
514 | t16_decode_hiregs(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 514 | t16_decode_hiregs(probes_opcode_t insn, struct arch_specific_insn *asi, |
515 | const struct decode_header *d) | 515 | const struct decode_header *d) |
516 | { | 516 | { |
517 | insn &= ~0x00ff; | 517 | insn &= ~0x00ff; |
@@ -522,7 +522,7 @@ t16_decode_hiregs(kprobe_opcode_t insn, struct arch_specific_insn *asi, | |||
522 | } | 522 | } |
523 | 523 | ||
524 | static void __kprobes | 524 | static void __kprobes |
525 | t16_emulate_push(kprobe_opcode_t insn, | 525 | t16_emulate_push(probes_opcode_t insn, |
526 | struct arch_specific_insn *asi, struct pt_regs *regs) | 526 | struct arch_specific_insn *asi, struct pt_regs *regs) |
527 | { | 527 | { |
528 | __asm__ __volatile__ ( | 528 | __asm__ __volatile__ ( |
@@ -539,7 +539,7 @@ t16_emulate_push(kprobe_opcode_t insn, | |||
539 | } | 539 | } |
540 | 540 | ||
541 | static enum kprobe_insn __kprobes | 541 | static enum kprobe_insn __kprobes |
542 | t16_decode_push(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 542 | t16_decode_push(probes_opcode_t insn, struct arch_specific_insn *asi, |
543 | const struct decode_header *d) | 543 | const struct decode_header *d) |
544 | { | 544 | { |
545 | /* | 545 | /* |
@@ -554,7 +554,7 @@ t16_decode_push(kprobe_opcode_t insn, struct arch_specific_insn *asi, | |||
554 | } | 554 | } |
555 | 555 | ||
556 | static void __kprobes | 556 | static void __kprobes |
557 | t16_emulate_pop_nopc(kprobe_opcode_t insn, | 557 | t16_emulate_pop_nopc(probes_opcode_t insn, |
558 | struct arch_specific_insn *asi, struct pt_regs *regs) | 558 | struct arch_specific_insn *asi, struct pt_regs *regs) |
559 | { | 559 | { |
560 | __asm__ __volatile__ ( | 560 | __asm__ __volatile__ ( |
@@ -571,7 +571,7 @@ t16_emulate_pop_nopc(kprobe_opcode_t insn, | |||
571 | } | 571 | } |
572 | 572 | ||
573 | static void __kprobes | 573 | static void __kprobes |
574 | t16_emulate_pop_pc(kprobe_opcode_t insn, | 574 | t16_emulate_pop_pc(probes_opcode_t insn, |
575 | struct arch_specific_insn *asi, struct pt_regs *regs) | 575 | struct arch_specific_insn *asi, struct pt_regs *regs) |
576 | { | 576 | { |
577 | register unsigned long pc asm("r8"); | 577 | register unsigned long pc asm("r8"); |
@@ -592,7 +592,7 @@ t16_emulate_pop_pc(kprobe_opcode_t insn, | |||
592 | } | 592 | } |
593 | 593 | ||
594 | static enum kprobe_insn __kprobes | 594 | static enum kprobe_insn __kprobes |
595 | t16_decode_pop(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 595 | t16_decode_pop(probes_opcode_t insn, struct arch_specific_insn *asi, |
596 | const struct decode_header *d) | 596 | const struct decode_header *d) |
597 | { | 597 | { |
598 | /* | 598 | /* |
diff --git a/arch/arm/kernel/kprobes.h b/arch/arm/kernel/kprobes.h index 7798035d6003..d0530b15e473 100644 --- a/arch/arm/kernel/kprobes.h +++ b/arch/arm/kernel/kprobes.h | |||
@@ -36,22 +36,22 @@ enum kprobe_insn { | |||
36 | INSN_GOOD_NO_SLOT | 36 | INSN_GOOD_NO_SLOT |
37 | }; | 37 | }; |
38 | 38 | ||
39 | typedef enum kprobe_insn (kprobe_decode_insn_t)(kprobe_opcode_t, | 39 | typedef enum kprobe_insn (kprobe_decode_insn_t)(probes_opcode_t, |
40 | struct arch_specific_insn *, | 40 | struct arch_specific_insn *, |
41 | const union decode_action *); | 41 | const union decode_action *); |
42 | 42 | ||
43 | #ifdef CONFIG_THUMB2_KERNEL | 43 | #ifdef CONFIG_THUMB2_KERNEL |
44 | 44 | ||
45 | enum kprobe_insn thumb16_kprobe_decode_insn(kprobe_opcode_t, | 45 | enum kprobe_insn thumb16_kprobe_decode_insn(probes_opcode_t, |
46 | struct arch_specific_insn *, | 46 | struct arch_specific_insn *, |
47 | const union decode_action *); | 47 | const union decode_action *); |
48 | enum kprobe_insn thumb32_kprobe_decode_insn(kprobe_opcode_t, | 48 | enum kprobe_insn thumb32_kprobe_decode_insn(probes_opcode_t, |
49 | struct arch_specific_insn *, | 49 | struct arch_specific_insn *, |
50 | const union decode_action *); | 50 | const union decode_action *); |
51 | 51 | ||
52 | #else /* !CONFIG_THUMB2_KERNEL */ | 52 | #else /* !CONFIG_THUMB2_KERNEL */ |
53 | 53 | ||
54 | enum kprobe_insn arm_kprobe_decode_insn(kprobe_opcode_t, | 54 | enum kprobe_insn arm_kprobe_decode_insn(probes_opcode_t, |
55 | struct arch_specific_insn *, | 55 | struct arch_specific_insn *, |
56 | const union decode_action *); | 56 | const union decode_action *); |
57 | 57 | ||
diff --git a/arch/arm/kernel/probes-arm.c b/arch/arm/kernel/probes-arm.c index 36002e5d0f0e..3357a074597d 100644 --- a/arch/arm/kernel/probes-arm.c +++ b/arch/arm/kernel/probes-arm.c | |||
@@ -57,7 +57,7 @@ | |||
57 | * read and write of flags. | 57 | * read and write of flags. |
58 | */ | 58 | */ |
59 | 59 | ||
60 | void __kprobes simulate_bbl(kprobe_opcode_t insn, | 60 | void __kprobes simulate_bbl(probes_opcode_t insn, |
61 | struct arch_specific_insn *asi, struct pt_regs *regs) | 61 | struct arch_specific_insn *asi, struct pt_regs *regs) |
62 | { | 62 | { |
63 | long iaddr = (long) regs->ARM_pc - 4; | 63 | long iaddr = (long) regs->ARM_pc - 4; |
@@ -69,7 +69,7 @@ void __kprobes simulate_bbl(kprobe_opcode_t insn, | |||
69 | regs->ARM_pc = iaddr + 8 + disp; | 69 | regs->ARM_pc = iaddr + 8 + disp; |
70 | } | 70 | } |
71 | 71 | ||
72 | void __kprobes simulate_blx1(kprobe_opcode_t insn, | 72 | void __kprobes simulate_blx1(probes_opcode_t insn, |
73 | struct arch_specific_insn *asi, struct pt_regs *regs) | 73 | struct arch_specific_insn *asi, struct pt_regs *regs) |
74 | { | 74 | { |
75 | long iaddr = (long) regs->ARM_pc - 4; | 75 | long iaddr = (long) regs->ARM_pc - 4; |
@@ -80,7 +80,7 @@ void __kprobes simulate_blx1(kprobe_opcode_t insn, | |||
80 | regs->ARM_cpsr |= PSR_T_BIT; | 80 | regs->ARM_cpsr |= PSR_T_BIT; |
81 | } | 81 | } |
82 | 82 | ||
83 | void __kprobes simulate_blx2bx(kprobe_opcode_t insn, | 83 | void __kprobes simulate_blx2bx(probes_opcode_t insn, |
84 | struct arch_specific_insn *asi, struct pt_regs *regs) | 84 | struct arch_specific_insn *asi, struct pt_regs *regs) |
85 | { | 85 | { |
86 | int rm = insn & 0xf; | 86 | int rm = insn & 0xf; |
@@ -95,7 +95,7 @@ void __kprobes simulate_blx2bx(kprobe_opcode_t insn, | |||
95 | regs->ARM_cpsr |= PSR_T_BIT; | 95 | regs->ARM_cpsr |= PSR_T_BIT; |
96 | } | 96 | } |
97 | 97 | ||
98 | void __kprobes simulate_mrs(kprobe_opcode_t insn, | 98 | void __kprobes simulate_mrs(probes_opcode_t insn, |
99 | struct arch_specific_insn *asi, struct pt_regs *regs) | 99 | struct arch_specific_insn *asi, struct pt_regs *regs) |
100 | { | 100 | { |
101 | int rd = (insn >> 12) & 0xf; | 101 | int rd = (insn >> 12) & 0xf; |
@@ -103,7 +103,7 @@ void __kprobes simulate_mrs(kprobe_opcode_t insn, | |||
103 | regs->uregs[rd] = regs->ARM_cpsr & mask; | 103 | regs->uregs[rd] = regs->ARM_cpsr & mask; |
104 | } | 104 | } |
105 | 105 | ||
106 | void __kprobes simulate_mov_ipsp(kprobe_opcode_t insn, | 106 | void __kprobes simulate_mov_ipsp(probes_opcode_t insn, |
107 | struct arch_specific_insn *asi, struct pt_regs *regs) | 107 | struct arch_specific_insn *asi, struct pt_regs *regs) |
108 | { | 108 | { |
109 | regs->uregs[12] = regs->uregs[13]; | 109 | regs->uregs[12] = regs->uregs[13]; |
@@ -704,7 +704,7 @@ const union decode_item kprobe_decode_arm_table[] = { | |||
704 | EXPORT_SYMBOL_GPL(kprobe_decode_arm_table); | 704 | EXPORT_SYMBOL_GPL(kprobe_decode_arm_table); |
705 | #endif | 705 | #endif |
706 | 706 | ||
707 | static void __kprobes arm_singlestep(kprobe_opcode_t insn, | 707 | static void __kprobes arm_singlestep(probes_opcode_t insn, |
708 | struct arch_specific_insn *asi, struct pt_regs *regs) | 708 | struct arch_specific_insn *asi, struct pt_regs *regs) |
709 | { | 709 | { |
710 | regs->ARM_pc += 4; | 710 | regs->ARM_pc += 4; |
@@ -724,11 +724,11 @@ static void __kprobes arm_singlestep(kprobe_opcode_t insn, | |||
724 | * should also be very rare. | 724 | * should also be very rare. |
725 | */ | 725 | */ |
726 | enum kprobe_insn __kprobes | 726 | enum kprobe_insn __kprobes |
727 | arm_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 727 | arm_kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi, |
728 | const union decode_action *actions) | 728 | const union decode_action *actions) |
729 | { | 729 | { |
730 | asi->insn_singlestep = arm_singlestep; | 730 | asi->insn_singlestep = arm_singlestep; |
731 | asi->insn_check_cc = kprobe_condition_checks[insn>>28]; | 731 | asi->insn_check_cc = probes_condition_checks[insn>>28]; |
732 | return kprobe_decode_insn(insn, asi, kprobe_decode_arm_table, false, | 732 | return kprobe_decode_insn(insn, asi, kprobe_decode_arm_table, false, |
733 | actions); | 733 | actions); |
734 | } | 734 | } |
diff --git a/arch/arm/kernel/probes-arm.h b/arch/arm/kernel/probes-arm.h index d0ac8a42caa0..9a9d379dbf33 100644 --- a/arch/arm/kernel/probes-arm.h +++ b/arch/arm/kernel/probes-arm.h | |||
@@ -53,15 +53,15 @@ enum probes_arm_action { | |||
53 | NUM_PROBES_ARM_ACTIONS | 53 | NUM_PROBES_ARM_ACTIONS |
54 | }; | 54 | }; |
55 | 55 | ||
56 | void __kprobes simulate_bbl(kprobe_opcode_t opcode, | 56 | void __kprobes simulate_bbl(probes_opcode_t opcode, |
57 | struct arch_specific_insn *asi, struct pt_regs *regs); | 57 | struct arch_specific_insn *asi, struct pt_regs *regs); |
58 | void __kprobes simulate_blx1(kprobe_opcode_t opcode, | 58 | void __kprobes simulate_blx1(probes_opcode_t opcode, |
59 | struct arch_specific_insn *asi, struct pt_regs *regs); | 59 | struct arch_specific_insn *asi, struct pt_regs *regs); |
60 | void __kprobes simulate_blx2bx(kprobe_opcode_t opcode, | 60 | void __kprobes simulate_blx2bx(probes_opcode_t opcode, |
61 | struct arch_specific_insn *asi, struct pt_regs *regs); | 61 | struct arch_specific_insn *asi, struct pt_regs *regs); |
62 | void __kprobes simulate_mrs(kprobe_opcode_t opcode, | 62 | void __kprobes simulate_mrs(probes_opcode_t opcode, |
63 | struct arch_specific_insn *asi, struct pt_regs *regs); | 63 | struct arch_specific_insn *asi, struct pt_regs *regs); |
64 | void __kprobes simulate_mov_ipsp(kprobe_opcode_t opcode, | 64 | void __kprobes simulate_mov_ipsp(probes_opcode_t opcode, |
65 | struct arch_specific_insn *asi, struct pt_regs *regs); | 65 | struct arch_specific_insn *asi, struct pt_regs *regs); |
66 | 66 | ||
67 | #endif | 67 | #endif |
diff --git a/arch/arm/kernel/probes-thumb.c b/arch/arm/kernel/probes-thumb.c index aa3176da1b29..a15a79b7c9c5 100644 --- a/arch/arm/kernel/probes-thumb.c +++ b/arch/arm/kernel/probes-thumb.c | |||
@@ -839,11 +839,11 @@ EXPORT_SYMBOL_GPL(kprobe_decode_thumb16_table); | |||
839 | static unsigned long __kprobes thumb_check_cc(unsigned long cpsr) | 839 | static unsigned long __kprobes thumb_check_cc(unsigned long cpsr) |
840 | { | 840 | { |
841 | if (unlikely(in_it_block(cpsr))) | 841 | if (unlikely(in_it_block(cpsr))) |
842 | return kprobe_condition_checks[current_cond(cpsr)](cpsr); | 842 | return probes_condition_checks[current_cond(cpsr)](cpsr); |
843 | return true; | 843 | return true; |
844 | } | 844 | } |
845 | 845 | ||
846 | static void __kprobes thumb16_singlestep(kprobe_opcode_t opcode, | 846 | static void __kprobes thumb16_singlestep(probes_opcode_t opcode, |
847 | struct arch_specific_insn *asi, | 847 | struct arch_specific_insn *asi, |
848 | struct pt_regs *regs) | 848 | struct pt_regs *regs) |
849 | { | 849 | { |
@@ -852,7 +852,7 @@ static void __kprobes thumb16_singlestep(kprobe_opcode_t opcode, | |||
852 | regs->ARM_cpsr = it_advance(regs->ARM_cpsr); | 852 | regs->ARM_cpsr = it_advance(regs->ARM_cpsr); |
853 | } | 853 | } |
854 | 854 | ||
855 | static void __kprobes thumb32_singlestep(kprobe_opcode_t opcode, | 855 | static void __kprobes thumb32_singlestep(probes_opcode_t opcode, |
856 | struct arch_specific_insn *asi, | 856 | struct arch_specific_insn *asi, |
857 | struct pt_regs *regs) | 857 | struct pt_regs *regs) |
858 | { | 858 | { |
@@ -862,7 +862,7 @@ static void __kprobes thumb32_singlestep(kprobe_opcode_t opcode, | |||
862 | } | 862 | } |
863 | 863 | ||
864 | enum kprobe_insn __kprobes | 864 | enum kprobe_insn __kprobes |
865 | thumb16_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 865 | thumb16_kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi, |
866 | const union decode_action *actions) | 866 | const union decode_action *actions) |
867 | { | 867 | { |
868 | asi->insn_singlestep = thumb16_singlestep; | 868 | asi->insn_singlestep = thumb16_singlestep; |
@@ -872,7 +872,7 @@ thumb16_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | |||
872 | } | 872 | } |
873 | 873 | ||
874 | enum kprobe_insn __kprobes | 874 | enum kprobe_insn __kprobes |
875 | thumb32_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 875 | thumb32_kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi, |
876 | const union decode_action *actions) | 876 | const union decode_action *actions) |
877 | { | 877 | { |
878 | asi->insn_singlestep = thumb32_singlestep; | 878 | asi->insn_singlestep = thumb32_singlestep; |
diff --git a/arch/arm/kernel/probes.c b/arch/arm/kernel/probes.c index f2ab8856ba2b..c1cdc0d27e05 100644 --- a/arch/arm/kernel/probes.c +++ b/arch/arm/kernel/probes.c | |||
@@ -167,7 +167,7 @@ static unsigned long __kprobes __check_al(unsigned long cpsr) | |||
167 | return true; | 167 | return true; |
168 | } | 168 | } |
169 | 169 | ||
170 | kprobe_check_cc * const kprobe_condition_checks[16] = { | 170 | probes_check_cc * const probes_condition_checks[16] = { |
171 | &__check_eq, &__check_ne, &__check_cs, &__check_cc, | 171 | &__check_eq, &__check_ne, &__check_cs, &__check_cc, |
172 | &__check_mi, &__check_pl, &__check_vs, &__check_vc, | 172 | &__check_mi, &__check_pl, &__check_vs, &__check_vc, |
173 | &__check_hi, &__check_ls, &__check_ge, &__check_lt, | 173 | &__check_hi, &__check_ls, &__check_ge, &__check_lt, |
@@ -175,13 +175,13 @@ kprobe_check_cc * const kprobe_condition_checks[16] = { | |||
175 | }; | 175 | }; |
176 | 176 | ||
177 | 177 | ||
178 | void __kprobes kprobe_simulate_nop(kprobe_opcode_t opcode, | 178 | void __kprobes kprobe_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(kprobe_opcode_t opcode, | 184 | void __kprobes kprobe_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 | { |
@@ -195,8 +195,8 @@ void __kprobes kprobe_emulate_none(kprobe_opcode_t opcode, | |||
195 | * unconditional as the condition code will already be checked before any | 195 | * unconditional as the condition code will already be checked before any |
196 | * emulation handler is called. | 196 | * emulation handler is called. |
197 | */ | 197 | */ |
198 | static kprobe_opcode_t __kprobes | 198 | static probes_opcode_t __kprobes |
199 | prepare_emulated_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 199 | prepare_emulated_insn(probes_opcode_t insn, struct arch_specific_insn *asi, |
200 | bool thumb) | 200 | bool thumb) |
201 | { | 201 | { |
202 | #ifdef CONFIG_THUMB2_KERNEL | 202 | #ifdef CONFIG_THUMB2_KERNEL |
@@ -221,7 +221,7 @@ prepare_emulated_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | |||
221 | * prepare_emulated_insn | 221 | * prepare_emulated_insn |
222 | */ | 222 | */ |
223 | static void __kprobes | 223 | static void __kprobes |
224 | set_emulated_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 224 | set_emulated_insn(probes_opcode_t insn, struct arch_specific_insn *asi, |
225 | bool thumb) | 225 | bool thumb) |
226 | { | 226 | { |
227 | #ifdef CONFIG_THUMB2_KERNEL | 227 | #ifdef CONFIG_THUMB2_KERNEL |
@@ -257,14 +257,14 @@ set_emulated_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | |||
257 | * non-zero value, the corresponding nibble in pinsn is validated and modified | 257 | * non-zero value, the corresponding nibble in pinsn is validated and modified |
258 | * according to the type. | 258 | * according to the type. |
259 | */ | 259 | */ |
260 | static bool __kprobes decode_regs(kprobe_opcode_t *pinsn, u32 regs) | 260 | static bool __kprobes decode_regs(probes_opcode_t *pinsn, u32 regs) |
261 | { | 261 | { |
262 | kprobe_opcode_t insn = *pinsn; | 262 | probes_opcode_t insn = *pinsn; |
263 | kprobe_opcode_t mask = 0xf; /* Start at least significant nibble */ | 263 | probes_opcode_t mask = 0xf; /* Start at least significant nibble */ |
264 | 264 | ||
265 | for (; regs != 0; regs >>= 4, mask <<= 4) { | 265 | for (; regs != 0; regs >>= 4, mask <<= 4) { |
266 | 266 | ||
267 | kprobe_opcode_t new_bits = INSN_NEW_BITS; | 267 | probes_opcode_t new_bits = INSN_NEW_BITS; |
268 | 268 | ||
269 | switch (regs & 0xf) { | 269 | switch (regs & 0xf) { |
270 | 270 | ||
@@ -383,7 +383,7 @@ static const int decode_struct_sizes[NUM_DECODE_TYPES] = { | |||
383 | * | 383 | * |
384 | */ | 384 | */ |
385 | int __kprobes | 385 | int __kprobes |
386 | kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 386 | kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi, |
387 | const union decode_item *table, bool thumb, | 387 | const union decode_item *table, bool thumb, |
388 | const union decode_action *actions) | 388 | const union decode_action *actions) |
389 | { | 389 | { |
diff --git a/arch/arm/kernel/probes.h b/arch/arm/kernel/probes.h index efea63c02742..5a0497f5a8f7 100644 --- a/arch/arm/kernel/probes.h +++ b/arch/arm/kernel/probes.h | |||
@@ -131,13 +131,13 @@ static inline void __kprobes alu_write_pc(long pcv, struct pt_regs *regs) | |||
131 | } | 131 | } |
132 | 132 | ||
133 | 133 | ||
134 | void __kprobes kprobe_simulate_nop(kprobe_opcode_t, struct arch_specific_insn *, | 134 | void __kprobes kprobe_simulate_nop(probes_opcode_t, struct arch_specific_insn *, |
135 | struct pt_regs *regs); | 135 | struct pt_regs *regs); |
136 | void __kprobes kprobe_emulate_none(kprobe_opcode_t, struct arch_specific_insn *, | 136 | void __kprobes kprobe_emulate_none(probes_opcode_t, struct arch_specific_insn *, |
137 | struct pt_regs *regs); | 137 | struct pt_regs *regs); |
138 | 138 | ||
139 | enum kprobe_insn __kprobes | 139 | enum kprobe_insn __kprobes |
140 | kprobe_decode_ldmstm(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 140 | kprobe_decode_ldmstm(probes_opcode_t insn, struct arch_specific_insn *asi, |
141 | const struct decode_header *h); | 141 | const struct decode_header *h); |
142 | 142 | ||
143 | /* | 143 | /* |
@@ -311,7 +311,7 @@ union decode_item { | |||
311 | int action; | 311 | int action; |
312 | }; | 312 | }; |
313 | 313 | ||
314 | typedef enum kprobe_insn (probes_custom_decode_t)(kprobe_opcode_t, | 314 | typedef enum kprobe_insn (probes_custom_decode_t)(probes_opcode_t, |
315 | struct arch_specific_insn *, | 315 | struct arch_specific_insn *, |
316 | const struct decode_header *); | 316 | const struct decode_header *); |
317 | 317 | ||
@@ -408,10 +408,10 @@ extern const union decode_item kprobe_decode_arm_table[]; | |||
408 | extern const union decode_action kprobes_arm_actions[]; | 408 | extern const union decode_action kprobes_arm_actions[]; |
409 | #endif | 409 | #endif |
410 | 410 | ||
411 | extern kprobe_check_cc * const kprobe_condition_checks[16]; | 411 | extern probes_check_cc * const probes_condition_checks[16]; |
412 | 412 | ||
413 | 413 | ||
414 | int kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi, | 414 | int kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi, |
415 | const union decode_item *table, bool thumb16, | 415 | const union decode_item *table, bool thumb16, |
416 | const union decode_action *actions); | 416 | const union decode_action *actions); |
417 | 417 | ||