|
@@ -266,6 +266,7 @@ void die(const char *str, struct pt_regs *regs, int err)
|
|
{
|
|
{
|
|
struct thread_info *thread = current_thread_info();
|
|
struct thread_info *thread = current_thread_info();
|
|
int ret;
|
|
int ret;
|
|
|
|
+ enum bug_trap_type bug_type = BUG_TRAP_TYPE_NONE;
|
|
|
|
|
|
oops_enter();
|
|
oops_enter();
|
|
|
|
|
|
@@ -273,7 +274,9 @@ void die(const char *str, struct pt_regs *regs, int err)
|
|
console_verbose();
|
|
console_verbose();
|
|
bust_spinlocks(1);
|
|
bust_spinlocks(1);
|
|
if (!user_mode(regs))
|
|
if (!user_mode(regs))
|
|
- report_bug(regs->ARM_pc, regs);
|
|
|
|
|
|
+ bug_type = report_bug(regs->ARM_pc, regs);
|
|
|
|
+ if (bug_type != BUG_TRAP_TYPE_NONE)
|
|
|
|
+ str = "Oops - BUG";
|
|
ret = __die(str, err, thread, regs);
|
|
ret = __die(str, err, thread, regs);
|
|
|
|
|
|
if (regs && kexec_should_crash(thread->task))
|
|
if (regs && kexec_should_crash(thread->task))
|