aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/blackfin/kernel/traps.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index aaddb724a5fb..ce9981b5339b 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -158,7 +158,7 @@ static void decode_address(char *buf, unsigned long address)
158 } 158 }
159 159
160 /* we were unable to find this address anywhere */ 160 /* we were unable to find this address anywhere */
161 sprintf(buf, "[<0x%p>]", (void *)address); 161 sprintf(buf, "<0x%p> /* unknown address */", (void *)address);
162 162
163done: 163done:
164 write_unlock_irqrestore(&tasklist_lock, flags); 164 write_unlock_irqrestore(&tasklist_lock, flags);
@@ -467,7 +467,8 @@ asmlinkage void trap_c(struct pt_regs *fp)
467 /* Ensure that bad return addresses don't end up in an infinite 467 /* Ensure that bad return addresses don't end up in an infinite
468 * loop, due to speculative loads/reads 468 * loop, due to speculative loads/reads
469 */ 469 */
470 fp->pc = SAFE_USER_INSTRUCTION; 470 if (trapnr == VEC_CPLB_I_M)
471 fp->pc = SAFE_USER_INSTRUCTION;
471 } 472 }
472 info.si_signo = sig; 473 info.si_signo = sig;
473 info.si_errno = 0; 474 info.si_errno = 0;