diff options
-rw-r--r-- | arch/arm/kernel/traps.c | 1 | ||||
-rw-r--r-- | arch/arm/mm/fault.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 33af097c454b..30bffdeac3ac 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -725,6 +725,7 @@ baddataabort(int code, unsigned long instr, struct pt_regs *regs) | |||
725 | 725 | ||
726 | #ifdef CONFIG_DEBUG_USER | 726 | #ifdef CONFIG_DEBUG_USER |
727 | if (user_debug & UDBG_BADABORT) { | 727 | if (user_debug & UDBG_BADABORT) { |
728 | pr_err("8<--- cut here ---\n"); | ||
728 | pr_err("[%d] %s: bad data abort: code %d instr 0x%08lx\n", | 729 | pr_err("[%d] %s: bad data abort: code %d instr 0x%08lx\n", |
729 | task_pid_nr(current), current->comm, code, instr); | 730 | task_pid_nr(current), current->comm, code, instr); |
730 | dump_instr(KERN_ERR, regs); | 731 | dump_instr(KERN_ERR, regs); |
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index 58f69fa07df9..743a9e0a1fda 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c | |||
@@ -142,6 +142,7 @@ __do_kernel_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr, | |||
142 | * No handler, we'll have to terminate things with extreme prejudice. | 142 | * No handler, we'll have to terminate things with extreme prejudice. |
143 | */ | 143 | */ |
144 | bust_spinlocks(1); | 144 | bust_spinlocks(1); |
145 | pr_alert("8<--- cut here ---\n"); | ||
145 | pr_alert("Unable to handle kernel %s at virtual address %08lx\n", | 146 | pr_alert("Unable to handle kernel %s at virtual address %08lx\n", |
146 | (addr < PAGE_SIZE) ? "NULL pointer dereference" : | 147 | (addr < PAGE_SIZE) ? "NULL pointer dereference" : |
147 | "paging request", addr); | 148 | "paging request", addr); |
@@ -167,6 +168,7 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr, | |||
167 | #ifdef CONFIG_DEBUG_USER | 168 | #ifdef CONFIG_DEBUG_USER |
168 | if (((user_debug & UDBG_SEGV) && (sig == SIGSEGV)) || | 169 | if (((user_debug & UDBG_SEGV) && (sig == SIGSEGV)) || |
169 | ((user_debug & UDBG_BUS) && (sig == SIGBUS))) { | 170 | ((user_debug & UDBG_BUS) && (sig == SIGBUS))) { |
171 | pr_err("8<--- cut here ---\n"); | ||
170 | printk(KERN_DEBUG "%s: unhandled page fault (%d) at 0x%08lx, code 0x%03x\n", | 172 | printk(KERN_DEBUG "%s: unhandled page fault (%d) at 0x%08lx, code 0x%03x\n", |
171 | tsk->comm, sig, addr, fsr); | 173 | tsk->comm, sig, addr, fsr); |
172 | show_pte(tsk->mm, addr); | 174 | show_pte(tsk->mm, addr); |
@@ -556,6 +558,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs) | |||
556 | if (!inf->fn(addr, fsr & ~FSR_LNX_PF, regs)) | 558 | if (!inf->fn(addr, fsr & ~FSR_LNX_PF, regs)) |
557 | return; | 559 | return; |
558 | 560 | ||
561 | pr_alert("8<--- cut here ---\n"); | ||
559 | pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n", | 562 | pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n", |
560 | inf->name, fsr, addr); | 563 | inf->name, fsr, addr); |
561 | show_pte(current->mm, addr); | 564 | show_pte(current->mm, addr); |