diff options
Diffstat (limited to 'arch/powerpc/kernel/uprobes.c')
| -rw-r--r-- | arch/powerpc/kernel/uprobes.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/uprobes.c b/arch/powerpc/kernel/uprobes.c index d2d46d1014f..bc77834dbf4 100644 --- a/arch/powerpc/kernel/uprobes.c +++ b/arch/powerpc/kernel/uprobes.c @@ -64,6 +64,8 @@ int arch_uprobe_pre_xol(struct arch_uprobe *auprobe, struct pt_regs *regs)  	autask->saved_trap_nr = current->thread.trap_nr;  	current->thread.trap_nr = UPROBE_TRAP_NR;  	regs->nip = current->utask->xol_vaddr; + +	user_enable_single_step(current);  	return 0;  } @@ -119,6 +121,8 @@ int arch_uprobe_post_xol(struct arch_uprobe *auprobe, struct pt_regs *regs)  	 * to be executed.  	 */  	regs->nip = utask->vaddr + MAX_UINSN_BYTES; + +	user_disable_single_step(current);  	return 0;  } @@ -162,6 +166,8 @@ void arch_uprobe_abort_xol(struct arch_uprobe *auprobe, struct pt_regs *regs)  	current->thread.trap_nr = utask->autask.saved_trap_nr;  	instruction_pointer_set(regs, utask->vaddr); + +	user_disable_single_step(current);  }  /*  |