| =============== |
| Provoke crashes |
| =============== |
| |
| The lkdtm module provides an interface to crash or injure the kernel at |
| predefined crashpoints to evaluate the reliability of crash dumps obtained |
| using different dumping solutions. The module uses KPROBEs to instrument |
| crashing points, but can also crash the kernel directly without KRPOBE |
| support. |
| |
| |
| You can provide the way either through module arguments when inserting |
| the module, or through a debugfs interface. |
| |
| Usage:: |
| |
| insmod lkdtm.ko [recur_count={>0}] cpoint_name=<> cpoint_type=<> |
| [cpoint_count={>0}] |
| |
| recur_count |
| Recursion level for the stack overflow test. Default is 10. |
| |
| cpoint_name |
| Crash point where the kernel is to be crashed. It can be |
| one of INT_HARDWARE_ENTRY, INT_HW_IRQ_EN, INT_TASKLET_ENTRY, |
| FS_DEVRW, MEM_SWAPOUT, TIMERADD, SCSI_DISPATCH_CMD, |
| IDE_CORE_CP, DIRECT |
| |
| cpoint_type |
| Indicates the action to be taken on hitting the crash point. |
| It can be one of PANIC, BUG, EXCEPTION, LOOP, OVERFLOW, |
| CORRUPT_STACK, UNALIGNED_LOAD_STORE_WRITE, OVERWRITE_ALLOCATION, |
| WRITE_AFTER_FREE, |
| |
| cpoint_count |
| Indicates the number of times the crash point is to be hit |
| to trigger an action. The default is 10. |
| |
| You can also induce failures by mounting debugfs and writing the type to |
| <mountpoint>/provoke-crash/<crashpoint>. E.g.:: |
| |
| mount -t debugfs debugfs /mnt |
| echo EXCEPTION > /mnt/provoke-crash/INT_HARDWARE_ENTRY |
| |
| |
| A special file is `DIRECT` which will induce the crash directly without |
| KPROBE instrumentation. This mode is the only one available when the module |
| is built on a kernel without KPROBEs support. |