diff options
Diffstat (limited to 'arch/powerpc/mm/fault.c')
-rw-r--r-- | arch/powerpc/mm/fault.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 8135da06e0a4..7b2510799266 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
@@ -167,10 +167,8 @@ int __kprobes do_page_fault(struct pt_regs *regs, unsigned long address, | |||
167 | if (notify_page_fault(regs)) | 167 | if (notify_page_fault(regs)) |
168 | return 0; | 168 | return 0; |
169 | 169 | ||
170 | if (trap == 0x300) { | 170 | if (unlikely(debugger_fault_handler(regs))) |
171 | if (debugger_fault_handler(regs)) | 171 | return 0; |
172 | return 0; | ||
173 | } | ||
174 | 172 | ||
175 | /* On a kernel SLB miss we can only check for a valid exception entry */ | 173 | /* On a kernel SLB miss we can only check for a valid exception entry */ |
176 | if (!user_mode(regs) && (address >= TASK_SIZE)) | 174 | if (!user_mode(regs) && (address >= TASK_SIZE)) |
@@ -189,7 +187,7 @@ int __kprobes do_page_fault(struct pt_regs *regs, unsigned long address, | |||
189 | return SIGSEGV; | 187 | return SIGSEGV; |
190 | /* in_atomic() in user mode is really bad, | 188 | /* in_atomic() in user mode is really bad, |
191 | as is current->mm == NULL. */ | 189 | as is current->mm == NULL. */ |
192 | printk(KERN_EMERG "Page fault in user mode with" | 190 | printk(KERN_EMERG "Page fault in user mode with " |
193 | "in_atomic() = %d mm = %p\n", in_atomic(), mm); | 191 | "in_atomic() = %d mm = %p\n", in_atomic(), mm); |
194 | printk(KERN_EMERG "NIP = %lx MSR = %lx\n", | 192 | printk(KERN_EMERG "NIP = %lx MSR = %lx\n", |
195 | regs->nip, regs->msr); | 193 | regs->nip, regs->msr); |