| .. | .. |
|---|
| 170 | 170 | |
|---|
| 171 | 171 | extern void panic_flush_kmsg_end(void) |
|---|
| 172 | 172 | { |
|---|
| 173 | + printk_safe_flush_on_panic(); |
|---|
| 173 | 174 | kmsg_dump(KMSG_DUMP_PANIC); |
|---|
| 174 | 175 | bust_spinlocks(0); |
|---|
| 175 | 176 | debug_locks_off(); |
|---|
| .. | .. |
|---|
| 244 | 245 | |
|---|
| 245 | 246 | if (panic_on_oops) |
|---|
| 246 | 247 | panic("Fatal exception"); |
|---|
| 247 | | - do_exit(signr); |
|---|
| 248 | + make_task_dead(signr); |
|---|
| 248 | 249 | } |
|---|
| 249 | 250 | NOKPROBE_SYMBOL(oops_end); |
|---|
| 250 | 251 | |
|---|
| .. | .. |
|---|
| 259 | 260 | |
|---|
| 260 | 261 | static int __die(const char *str, struct pt_regs *regs, long err) |
|---|
| 261 | 262 | { |
|---|
| 262 | | - const char *pr = ""; |
|---|
| 263 | | - |
|---|
| 264 | 263 | printk("Oops: %s, sig: %ld [#%d]\n", str, err, ++die_counter); |
|---|
| 265 | | - |
|---|
| 266 | | - if (IS_ENABLED(CONFIG_PREEMPTION)) |
|---|
| 267 | | - pr = IS_ENABLED(CONFIG_PREEMPT_RT) ? " PREEMPT_RT" : " PREEMPT"; |
|---|
| 268 | 264 | |
|---|
| 269 | 265 | printk("%s PAGE_SIZE=%luK%s%s%s%s%s%s %s\n", |
|---|
| 270 | 266 | IS_ENABLED(CONFIG_CPU_LITTLE_ENDIAN) ? "LE" : "BE", |
|---|
| 271 | 267 | PAGE_SIZE / 1024, get_mmu_str(), |
|---|
| 272 | | - pr, |
|---|
| 268 | + IS_ENABLED(CONFIG_PREEMPT) ? " PREEMPT" : "", |
|---|
| 273 | 269 | IS_ENABLED(CONFIG_SMP) ? " SMP" : "", |
|---|
| 274 | 270 | IS_ENABLED(CONFIG_SMP) ? (" NR_CPUS=" __stringify(NR_CPUS)) : "", |
|---|
| 275 | 271 | debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "", |
|---|