49 lines
1.5 KiB
ReStructuredText
49 lines
1.5 KiB
ReStructuredText
|
===============
|
||
|
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.
|