diff options
Diffstat (limited to 'lib/bug.c')
| -rw-r--r-- | lib/bug.c | 12 |
1 files changed, 8 insertions, 4 deletions
| @@ -136,8 +136,6 @@ enum bug_trap_type report_bug(unsigned long bugaddr, struct pt_regs *regs) | |||
| 136 | 136 | ||
| 137 | bug = find_bug(bugaddr); | 137 | bug = find_bug(bugaddr); |
| 138 | 138 | ||
| 139 | printk(KERN_EMERG "------------[ cut here ]------------\n"); | ||
| 140 | |||
| 141 | file = NULL; | 139 | file = NULL; |
| 142 | line = 0; | 140 | line = 0; |
| 143 | warning = 0; | 141 | warning = 0; |
| @@ -156,19 +154,25 @@ enum bug_trap_type report_bug(unsigned long bugaddr, struct pt_regs *regs) | |||
| 156 | 154 | ||
| 157 | if (warning) { | 155 | if (warning) { |
| 158 | /* this is a WARN_ON rather than BUG/BUG_ON */ | 156 | /* this is a WARN_ON rather than BUG/BUG_ON */ |
| 157 | printk(KERN_WARNING "------------[ cut here ]------------\n"); | ||
| 158 | |||
| 159 | if (file) | 159 | if (file) |
| 160 | printk(KERN_ERR "Badness at %s:%u\n", | 160 | printk(KERN_WARNING "WARNING: at %s:%u\n", |
| 161 | file, line); | 161 | file, line); |
| 162 | else | 162 | else |
| 163 | printk(KERN_ERR "Badness at %p " | 163 | printk(KERN_WARNING "WARNING: at %p " |
| 164 | "[verbose debug info unavailable]\n", | 164 | "[verbose debug info unavailable]\n", |
| 165 | (void *)bugaddr); | 165 | (void *)bugaddr); |
| 166 | 166 | ||
| 167 | print_modules(); | ||
| 167 | show_regs(regs); | 168 | show_regs(regs); |
| 169 | print_oops_end_marker(); | ||
| 168 | add_taint(BUG_GET_TAINT(bug)); | 170 | add_taint(BUG_GET_TAINT(bug)); |
| 169 | return BUG_TRAP_TYPE_WARN; | 171 | return BUG_TRAP_TYPE_WARN; |
| 170 | } | 172 | } |
| 171 | 173 | ||
| 174 | printk(KERN_EMERG "------------[ cut here ]------------\n"); | ||
| 175 | |||
| 172 | if (file) | 176 | if (file) |
| 173 | printk(KERN_CRIT "kernel BUG at %s:%u!\n", | 177 | printk(KERN_CRIT "kernel BUG at %s:%u!\n", |
| 174 | file, line); | 178 | file, line); |
