Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 74143
b: refs/heads/master
c: fb32291
h: refs/heads/master
i:
  74141: 83c3797
  74139: 573867c
  74135: 9d312d5
  74127: 5c727ab
  74111: d7e1dac
v: v3
  • Loading branch information
Robin Getz authored and Bryan Wu committed Nov 21, 2007
1 parent ae93f22 commit 9181e8c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 569a50ca3f56cd69199733580e7ca0e81029473a
refs/heads/master: fb322915a05804a3a153f714f2f08e4c32ce84c7
14 changes: 8 additions & 6 deletions trunk/arch/blackfin/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -463,18 +463,20 @@ asmlinkage void trap_c(struct pt_regs *fp)
#endif
panic("Kernel exception");
}

/* Ensure that bad return addresses don't end up in an infinite
* loop, due to speculative loads/reads
*/
if (trapnr == VEC_CPLB_I_M)
fp->pc = SAFE_USER_INSTRUCTION;
}

info.si_signo = sig;
info.si_errno = 0;
info.si_addr = (void *)fp->pc;
force_sig_info(sig, &info, current);

/* Ensure that bad return addresses don't end up in an infinite
* loop, due to speculative loads/reads. This needs to be done after
* the signal has been sent.
*/
if (trapnr == VEC_CPLB_I_M && sig != SIGTRAP)
fp->pc = SAFE_USER_INSTRUCTION;

trace_buffer_restore(j);
return;
}
Expand Down

0 comments on commit 9181e8c

Please sign in to comment.