diff options
Diffstat (limited to 'arch/powerpc/kernel/hw_breakpoint_constraints.c')
| -rw-r--r-- | arch/powerpc/kernel/hw_breakpoint_constraints.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/hw_breakpoint_constraints.c b/arch/powerpc/kernel/hw_breakpoint_constraints.c index a74623025f3a..9e51801c4915 100644 --- a/arch/powerpc/kernel/hw_breakpoint_constraints.c +++ b/arch/powerpc/kernel/hw_breakpoint_constraints.c @@ -131,8 +131,13 @@ void wp_get_instr_detail(struct pt_regs *regs, ppc_inst_t *instr,  			 int *type, int *size, unsigned long *ea)  {  	struct instruction_op op; +	int err; -	if (__get_user_instr(*instr, (void __user *)regs->nip)) +	pagefault_disable(); +	err = __get_user_instr(*instr, (void __user *)regs->nip); +	pagefault_enable(); + +	if (err)  		return;  	analyse_instr(&op, regs, *instr);  |