# Linux Kernel Module Cheat

#### 17.6.1. Kernel panic

On panic, the kernel dies, and so does our terminal.

The panic trace looks like:

    panic: loading out-of-tree module taints kernel.
    panic myinit
    Kernel panic - not syncing: hello panic
    CPU: 0 PID: 53 Comm: insmod Tainted: G           O     4.16.0 #6
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014
    Call Trace:
     dump_stack+0x7d/0xba
     ? 0xffffffffc0000000
     panic+0xda/0x213
     ? printk+0x43/0x4b
     ? 0xffffffffc0000000
     myinit+0x1d/0x20 [panic]
     do_one_initcall+0x3e/0x170
     do_init_module+0x5b/0x210
     load_module+0x2035/0x29d0
     ? kernel_read_file+0x7d/0x140
     ? SyS_finit_module+0xa8/0xb0
     SyS_finit_module+0xa8/0xb0
     do_syscall_64+0x6f/0x310
     ? trace_hardirqs_off_thunk+0x1a/0x32
     entry_SYSCALL_64_after_hwframe+0x42/0xb7
    RIP: 0033:0x7ffff7b36206
    RSP: 002b:00007fffffffeb78 EFLAGS: 00000206 ORIG_RAX: 0000000000000139
    RAX: ffffffffffffffda RBX: 000000000000005c RCX: 00007ffff7b36206
    RDX: 0000000000000000 RSI: 000000000069e010 RDI: 0000000000000003
    RBP: 000000000069e010 R08: 00007ffff7ddd320 R09: 0000000000000000
    R10: 00007ffff7ddd320 R11: 0000000000000206 R12: 0000000000000003
    R13: 00007fffffffef4a R14: 0000000000000000 R15: 0000000000000000
    Kernel Offset: disabled
    ---[ end Kernel panic - not syncing: hello panic

Notice how our panic message `hello panic` is visible at:

    Kernel panic - not syncing: hello panic

- Kernel module stack trace to source line

- BUG_ON

- Exit emulator on panic

- Reboot on panic

- Panic trace show addresses instead of symbols