Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c89240b authored by Jon Medhurst's avatar Jon Medhurst
Browse files

ARM: kprobes: Add exports for test code



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: default avatarJon Medhurst <tixy@yxit.co.uk>
Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
parent c0cc6df1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@

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

#include "kprobes.h"

@@ -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)
{
+7 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@

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

#include "kprobes.h"

@@ -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)
@@ -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)
{
+8 −0
Original line number Diff line number Diff line
@@ -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);