Simon Kagstrom | 0347af4 | 2010-03-05 13:42:49 -0800 | [diff] [blame] | 1 | The lkdtm module provides an interface to crash or injure the kernel at |
| 2 | predefined crashpoints to evaluate the reliability of crash dumps obtained |
| 3 | using different dumping solutions. The module uses KPROBEs to instrument |
| 4 | crashing points, but can also crash the kernel directly without KRPOBE |
| 5 | support. |
| 6 | |
| 7 | |
| 8 | You can provide the way either through module arguments when inserting |
| 9 | the module, or through a debugfs interface. |
| 10 | |
| 11 | Usage: insmod lkdtm.ko [recur_count={>0}] cpoint_name=<> cpoint_type=<> |
| 12 | [cpoint_count={>0}] |
| 13 | |
| 14 | recur_count : Recursion level for the stack overflow test. Default is 10. |
| 15 | |
| 16 | cpoint_name : Crash point where the kernel is to be crashed. It can be |
| 17 | one of INT_HARDWARE_ENTRY, INT_HW_IRQ_EN, INT_TASKLET_ENTRY, |
| 18 | FS_DEVRW, MEM_SWAPOUT, TIMERADD, SCSI_DISPATCH_CMD, |
| 19 | IDE_CORE_CP, DIRECT |
| 20 | |
| 21 | cpoint_type : Indicates the action to be taken on hitting the crash point. |
| 22 | It can be one of PANIC, BUG, EXCEPTION, LOOP, OVERFLOW, |
| 23 | CORRUPT_STACK, UNALIGNED_LOAD_STORE_WRITE, OVERWRITE_ALLOCATION, |
| 24 | WRITE_AFTER_FREE, |
| 25 | |
| 26 | cpoint_count : Indicates the number of times the crash point is to be hit |
| 27 | to trigger an action. The default is 10. |
| 28 | |
| 29 | You can also induce failures by mounting debugfs and writing the type to |
| 30 | <mountpoint>/provoke-crash/<crashpoint>. E.g., |
| 31 | |
| 32 | mount -t debugfs debugfs /mnt |
| 33 | echo EXCEPTION > /mnt/provoke-crash/INT_HARDWARE_ENTRY |
| 34 | |
| 35 | |
| 36 | A special file is `DIRECT' which will induce the crash directly without |
| 37 | KPROBE instrumentation. This mode is the only one available when the module |
| 38 | is built on a kernel without KPROBEs support. |