User pages mapping moved out of exception context
Change-Id: I8239d0ee2d01fad137988d08ba696b770f978ae2
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
return -EFAULT;
}
+ up->atramp.utramp = alloc_insn_slot(up->sm);
+ if (up->atramp.utramp == NULL) {
+ printk("Error: alloc_insn_slot failed (%08lx)\n", vaddr);
+ return -ENOMEM;
+ }
+
return 0;
}
return 1;
}
- utramp = alloc_insn_slot(up->sm);
+ utramp = up->atramp.utramp;
if (!write_proc_vm_atomic(up->task, (unsigned long)utramp, tramp,
UPROBES_TRAMP_LEN * sizeof(*tramp)))
struct arch_specific_tramp {
unsigned long tramp_arm[UPROBES_TRAMP_LEN];
unsigned long tramp_thumb[UPROBES_TRAMP_LEN];
+ void *utramp;
};