From 561e520c1b10ac0a49cb1a828e293dba1b1e1418 Mon Sep 17 00:00:00 2001 From: Vyacheslav Cherkashin Date: Tue, 26 Mar 2013 13:20:50 +0400 Subject: [PATCH] [REFACTOR] move arch dependent part --- uprobe/arch/asm-arm/swap_uprobes.c | 3 +++ uprobe/swap_uprobes.c | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/uprobe/arch/asm-arm/swap_uprobes.c b/uprobe/arch/asm-arm/swap_uprobes.c index dff8121..ffc3cd8 100644 --- a/uprobe/arch/asm-arm/swap_uprobes.c +++ b/uprobe/arch/asm-arm/swap_uprobes.c @@ -598,6 +598,9 @@ int arch_prepare_uprobe(struct kprobe *p, struct task_struct *task, int atomic) void arch_prepare_uretprobe_hl(struct kretprobe_instance *ri, struct pt_regs *regs) { + ri->ret_addr = (kprobe_opcode_t *)regs->ARM_lr; + ri->sp = (kprobe_opcode_t *)regs->ARM_sp; + /* Set flag of current mode */ ri->sp = (kprobe_opcode_t *)((long)ri->sp | !!thumb_mode(regs)); diff --git a/uprobe/swap_uprobes.c b/uprobe/swap_uprobes.c index 0331c7b..ab69d86 100644 --- a/uprobe/swap_uprobes.c +++ b/uprobe/swap_uprobes.c @@ -334,8 +334,6 @@ static int pre_handler_uretprobe(struct kprobe *p, struct pt_regs *regs) ri->rp = rp; ri->rp2 = NULL; ri->task = current; - ri->ret_addr = (kprobe_opcode_t *)regs->ARM_lr; - ri->sp = (kprobe_opcode_t *)regs->ARM_sp; arch_prepare_uretprobe_hl(ri, regs); -- 2.7.4