uprobes: Change handle_swbp() to expose bp_vaddr to handler_chain()

Change handle_swbp() to set regs->ip = bp_vaddr in advance, this is
what consumer->handler() needs but uprobe_get_swbp_addr() is not
exported.

This also simplifies the code and makes it more consistent across
the supported architectures. handle_swbp() becomes the only caller
of uprobe_get_swbp_addr().

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
This commit is contained in:
Oleg Nesterov
2012-12-30 15:54:08 +01:00
parent cf31ec3f7f
commit 74e59dfc6b
3 changed files with 9 additions and 11 deletions

View File

@@ -681,7 +681,6 @@ static bool __skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs)
continue;
if (auprobe->insn[i] == 0x90) {
regs->ip = uprobe_get_swbp_addr(regs);
regs->ip += i + 1;
return true;
}