module_name = swap_driver
cross_compiler = $(subst gcc,,$(CC))
-inlude_opt = -I$(realpath $(top_srcdir)/src/modules/ksyms) -I$(realpath $(top_srcdir)/src/common) \
- -I$(realpath $(top_srcdir)/src/profile) -I$(realpath $(top_srcdir)/src/modules/kprobe) \
+inlude_opt = -I$(realpath $(top_srcdir)/src/modules/ksyms) \
+ -I$(realpath $(top_srcdir)/src/common) \
+ -I$(realpath $(top_srcdir)/src/profile) \
+ -I$(realpath $(top_srcdir)/src/modules/kprobe) \
+ -I$(realpath $(top_srcdir)/src/modules/kprobe/arch) \
-I$(realpath $(top_srcdir)/src/modules/uprobe)
extra_cflags = "$(inlude_opt) -DEC_ARCH_$(ARCH) -D__DEBUG $(memchecker) $(debug_opt) $(android_opt) $(slp_opt) $(android_app_opt) $(board_opt)"
////////////////////////////////////////////////////////////////////////////////////
#include "module.h"
+#include <ksyms.h>
static char gl_szDefaultDeviceName[128] = DEFAULT_DEVICE_NAME;
char* device_name = NULL;
*
*/
+#include <linux/slab.h>
#include "ip.h"
#include "sspt_page.h"
#include "sspt_file.h"
#include <linux/spinlock.h>
#include <linux/kernel.h>
#include <linux/time.h>
+#include <ksyms.h>
#include "module.h"
#include "storage.h"
#include "handlers_core.h"
module_name = swap_kprobe
cross_compiler = $(subst gcc,,$(CC))
-inlude_opt = -I$(realpath $(top_srcdir)/src/modules/ksyms)
+inlude_opt = -I$(realpath $(top_srcdir)/src/modules/ksyms) \
+ -I$(realpath $(top_srcdir)/src/modules/kprobe) \
+ -I$(realpath $(top_srcdir)/src/modules/kprobe/arch)
extra_cflags = "$(inlude_opt) $(android_opt) $(board_opt)"
all-local:
*/
#include <linux/sched.h>
-#include "../../dbi_kprobes_deps.h"
-#include "../dbi_kprobes.h"
typedef unsigned long kprobe_opcode_t;
#define UREGS_OFFSET 8
+struct prev_kprobe {
+ struct kprobe *kp;
+ unsigned long status;
+};
+
static inline unsigned long arch_get_task_pc(struct task_struct *p)
{
return task_thread_info(p)->cpu_context.pc;
struct task_struct;
struct kprobe_ctlblk;
-struct prev_kprobe {
- struct kprobe *kp;
- unsigned long status;
-};
-
void kretprobe_trampoline (void);
extern void __arch_prepare_kretprobe (struct kretprobe *rp, struct pt_regs *regs);
extern void dbi_arch_exit_kprobes (void);
extern int patch_suspended_task(struct kretprobe *rp, struct task_struct *tsk);
-void prepare_singlestep (struct kprobe *p, struct pt_regs *regs);
void save_previous_kprobe (struct kprobe_ctlblk *kcb, struct kprobe *cur_p);
void restore_previous_kprobe (struct kprobe_ctlblk *kcb);
void set_current_kprobe (struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb);
#include <linux/sched.h>
#include <linux/pagemap.h>
-#include "arch/asm/dbi_kprobes.h"
+#include <asm/dbi_kprobes.h>
/* kprobe_status settings */
#define KPROBE_HIT_ACTIVE 0x00000001
void reset_current_kprobe (void);
struct kprobe_ctlblk *get_kprobe_ctlblk (void);
+void prepare_singlestep(struct kprobe *p, struct pt_regs *regs);
+
#endif /* _DBI_KPROBES_H */
#include <swap_uprobes.h>
#include <asm/swap_uprobes.h>
#include <dbi_insn_slots.h>
+#include <dbi_kprobes_deps.h>
#include "trampoline_thumb.h"
// FIXME:
#include <linux/mempolicy.h>
#include <linux/module.h>
#include <dbi_insn_slots.h>
+#include <dbi_kprobes_deps.h>
enum {
UPROBE_HASH_BITS = 10,