Skip to content

Commit

Permalink
ARM: Rename the shared kprobes/uprobe return value enum
Browse files Browse the repository at this point in the history
Change the name of kprobes_insn to probes_insn so it can be shared between
kprobes and uprobes without confusion.

Signed-off-by: David A. Long <dave.long@linaro.org>
Acked-by: Jon Medhurst <tixy@linaro.org>
  • Loading branch information
David A. Long committed Mar 18, 2014
1 parent eb73ea9 commit 44a0a59
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 24 deletions.
2 changes: 1 addition & 1 deletion arch/arm/kernel/kprobes-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ emulate_ldm_r3_15(probes_opcode_t insn,
load_write_pc(regs->ARM_pc, regs);
}

enum kprobe_insn __kprobes
enum probes_insn __kprobes
kprobe_decode_ldmstm(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *h)
{
Expand Down
16 changes: 8 additions & 8 deletions arch/arm/kernel/kprobes-thumb.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ t32_simulate_cond_branch(probes_opcode_t insn,
regs->ARM_pc = pc + (offset * 2);
}

static enum kprobe_insn __kprobes
static enum probes_insn __kprobes
t32_decode_cond_branch(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *d)
{
Expand Down Expand Up @@ -142,11 +142,11 @@ t32_simulate_ldr_literal(probes_opcode_t insn,
regs->uregs[rt] = rtv;
}

static enum kprobe_insn __kprobes
static enum probes_insn __kprobes
t32_decode_ldmstm(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *d)
{
enum kprobe_insn ret = kprobe_decode_ldmstm(insn, asi, d);
enum probes_insn ret = kprobe_decode_ldmstm(insn, asi, d);

/* Fixup modified instruction to have halfwords in correct order...*/
insn = asi->insn[0];
Expand Down Expand Up @@ -402,7 +402,7 @@ t16_singlestep_it(probes_opcode_t insn,
t16_simulate_it(insn, asi, regs);
}

static enum kprobe_insn __kprobes
static enum probes_insn __kprobes
t16_decode_it(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *d)
{
Expand All @@ -420,7 +420,7 @@ t16_simulate_cond_branch(probes_opcode_t insn,
regs->ARM_pc = pc + (offset * 2);
}

static enum kprobe_insn __kprobes
static enum probes_insn __kprobes
t16_decode_cond_branch(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *d)
{
Expand Down Expand Up @@ -510,7 +510,7 @@ t16_emulate_hiregs(probes_opcode_t insn,
regs->ARM_cpsr = (regs->ARM_cpsr & ~APSR_MASK) | (cpsr & APSR_MASK);
}

static enum kprobe_insn __kprobes
static enum probes_insn __kprobes
t16_decode_hiregs(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *d)
{
Expand Down Expand Up @@ -538,7 +538,7 @@ t16_emulate_push(probes_opcode_t insn,
);
}

static enum kprobe_insn __kprobes
static enum probes_insn __kprobes
t16_decode_push(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *d)
{
Expand Down Expand Up @@ -591,7 +591,7 @@ t16_emulate_pop_pc(probes_opcode_t insn,
bx_write_pc(pc, regs);
}

static enum kprobe_insn __kprobes
static enum probes_insn __kprobes
t16_decode_pop(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *d)
{
Expand Down
14 changes: 4 additions & 10 deletions arch/arm/kernel/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,28 +30,22 @@
struct decode_header;
union decode_action;

enum kprobe_insn {
INSN_REJECTED,
INSN_GOOD,
INSN_GOOD_NO_SLOT
};

typedef enum kprobe_insn (kprobe_decode_insn_t)(probes_opcode_t,
typedef enum probes_insn (kprobe_decode_insn_t)(probes_opcode_t,
struct arch_specific_insn *,
const union decode_action *);

#ifdef CONFIG_THUMB2_KERNEL

enum kprobe_insn thumb16_kprobe_decode_insn(probes_opcode_t,
enum probes_insn thumb16_kprobe_decode_insn(probes_opcode_t,
struct arch_specific_insn *,
const union decode_action *);
enum kprobe_insn thumb32_kprobe_decode_insn(probes_opcode_t,
enum probes_insn thumb32_kprobe_decode_insn(probes_opcode_t,
struct arch_specific_insn *,
const union decode_action *);

#else /* !CONFIG_THUMB2_KERNEL */

enum kprobe_insn arm_kprobe_decode_insn(probes_opcode_t,
enum probes_insn arm_kprobe_decode_insn(probes_opcode_t,
struct arch_specific_insn *,
const union decode_action *);

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/kernel/probes-arm.c
Original file line number Diff line number Diff line change
Expand Up @@ -723,7 +723,7 @@ static void __kprobes arm_singlestep(probes_opcode_t insn,
* if the work was put into it, but low return considering they
* should also be very rare.
*/
enum kprobe_insn __kprobes
enum probes_insn __kprobes
arm_kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi,
const union decode_action *actions)
{
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/kernel/probes-thumb.c
Original file line number Diff line number Diff line change
Expand Up @@ -861,7 +861,7 @@ static void __kprobes thumb32_singlestep(probes_opcode_t opcode,
regs->ARM_cpsr = it_advance(regs->ARM_cpsr);
}

enum kprobe_insn __kprobes
enum probes_insn __kprobes
thumb16_kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi,
const union decode_action *actions)
{
Expand All @@ -871,7 +871,7 @@ thumb16_kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi,
actions);
}

enum kprobe_insn __kprobes
enum probes_insn __kprobes
thumb32_kprobe_decode_insn(probes_opcode_t insn, struct arch_specific_insn *asi,
const union decode_action *actions)
{
Expand Down
9 changes: 7 additions & 2 deletions arch/arm/kernel/probes.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ void __kprobes probes_simulate_nop(probes_opcode_t, struct arch_specific_insn *,
void __kprobes probes_emulate_none(probes_opcode_t, struct arch_specific_insn *,
struct pt_regs *regs);

enum kprobe_insn __kprobes
enum probes_insn __kprobes
kprobe_decode_ldmstm(probes_opcode_t insn, struct arch_specific_insn *asi,
const struct decode_header *h);

Expand Down Expand Up @@ -313,7 +313,7 @@ union decode_item {
int action;
};

typedef enum kprobe_insn (probes_custom_decode_t)(probes_opcode_t,
typedef enum probes_insn (probes_custom_decode_t)(probes_opcode_t,
struct arch_specific_insn *,
const struct decode_header *);

Expand Down Expand Up @@ -391,6 +391,11 @@ struct decode_or {
#define DECODE_OR(_mask, _value) \
DECODE_HEADER(DECODE_TYPE_OR, _mask, _value, 0)

enum probes_insn {
INSN_REJECTED,
INSN_GOOD,
INSN_GOOD_NO_SLOT
};

struct decode_reject {
struct decode_header header;
Expand Down

0 comments on commit 44a0a59

Please sign in to comment.