1The lkdtm module provides an interface to crash or injure the kernel at
2predefined crashpoints to evaluate the reliability of crash dumps obtained
3using different dumping solutions. The module uses KPROBEs to instrument
4crashing points, but can also crash the kernel directly without KRPOBE
5support.
6
7
8You can provide the way either through module arguments when inserting
9the module, or through a debugfs interface.
10
11Usage: 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
29You 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
36A special file is `DIRECT' which will induce the crash directly without
37KPROBE instrumentation. This mode is the only one available when the module
38is built on a kernel without KPROBEs support.
39