| 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. |