Skip to content

Commit

Permalink
ARM: kprobes: Add exports for test code
Browse files Browse the repository at this point in the history
The test code will be using kprobes' internal decoding tables so we
need to export these for when then the tests are compiled as a module.

Signed-off-by: Jon Medhurst <tixy@yxit.co.uk>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
  • Loading branch information
Jon Medhurst committed Sep 20, 2011
1 parent c0cc6df commit 2c89240
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 0 deletions.
4 changes: 4 additions & 0 deletions arch/arm/kernel/kprobes-arm.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@

#include <linux/kernel.h>
#include <linux/kprobes.h>
#include <linux/module.h>

#include "kprobes.h"

Expand Down Expand Up @@ -971,6 +972,9 @@ const union decode_item kprobe_decode_arm_table[] = {

DECODE_END
};
#ifdef CONFIG_ARM_KPROBES_TEST_MODULE
EXPORT_SYMBOL_GPL(kprobe_decode_arm_table);
#endif

static void __kprobes arm_singlestep(struct kprobe *p, struct pt_regs *regs)
{
Expand Down
7 changes: 7 additions & 0 deletions arch/arm/kernel/kprobes-thumb.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

#include <linux/kernel.h>
#include <linux/kprobes.h>
#include <linux/module.h>

#include "kprobes.h"

Expand Down Expand Up @@ -943,6 +944,9 @@ const union decode_item kprobe_decode_thumb32_table[] = {
*/
DECODE_END
};
#ifdef CONFIG_ARM_KPROBES_TEST_MODULE
EXPORT_SYMBOL_GPL(kprobe_decode_thumb32_table);
#endif

static void __kprobes
t16_simulate_bxblx(struct kprobe *p, struct pt_regs *regs)
Expand Down Expand Up @@ -1423,6 +1427,9 @@ const union decode_item kprobe_decode_thumb16_table[] = {

DECODE_END
};
#ifdef CONFIG_ARM_KPROBES_TEST_MODULE
EXPORT_SYMBOL_GPL(kprobe_decode_thumb16_table);
#endif

static unsigned long __kprobes thumb_check_cc(unsigned long cpsr)
{
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/kernel/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,14 @@ struct decode_reject {
DECODE_HEADER(DECODE_TYPE_REJECT, _mask, _value, 0)


#ifdef CONFIG_THUMB2_KERNEL
extern const union decode_item kprobe_decode_thumb16_table[];
extern const union decode_item kprobe_decode_thumb32_table[];
#else
extern const union decode_item kprobe_decode_arm_table[];
#endif


int kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi,
const union decode_item *table, bool thumb16);

Expand Down

0 comments on commit 2c89240

Please sign in to comment.