uprobe_module_name=swap_uprobe.ko
make CROSS_COMPILE=${cross_compile} ARCH=${arch} -C ${kernel_dir} M=${uprobe_dir} \
- extra_cflags="-I${modules_dir} -I${kprobe_dir} -I${kprobe_arch_dir} -I${uprobe_dir} -I${uprobe_arch_dir}" \
+ extra_cflags="-Werror -I${modules_dir} -I${kprobe_dir} -I${kprobe_arch_dir} -I${uprobe_dir} -I${uprobe_arch_dir}" \
modules || exit 1
us_manager_module_name=swap_us_manager.ko
struct ujprobe *jp = container_of(up, struct ujprobe, up);
kprobe_pre_entry_handler_t pre_entry = (kprobe_pre_entry_handler_t)jp->pre_entry;
entry_point_t entry = (entry_point_t)jp->entry;
- unsigned long addr, args[6];
+ unsigned long args[6];
/* FIXME some user space apps crash if we clean interrupt bit */
//regs->EREG(flags) &= ~IF_MASK;
panic("failed to read user space func arguments %lx!\n", regs->EREG(sp) + 4);
if (pre_entry)
- p->ss_addr = pre_entry(jp->priv_arg, regs);
+ p->ss_addr = (kprobe_opcode_t *)pre_entry(jp->priv_arg, regs);
if (entry)
entry(args[0], args[1], args[2], args[3], args[4], args[5]);
static void remove_uprobe(struct uprobe *up)
{
struct kprobe *p = &up->kp;
- struct task_struct *task = up->task;
#ifdef CONFIG_ARM
free_insn_slot(up->sm, p->ainsn.insn_arm);