blob: dbd530686df909e7d45ff66a6f0f824c663d82fe [file] [log] [blame]
.TH HORNET 8 2015-07-07 Linux "System Validation Manual"
.SH NAME
hornet \- inject an uncorrectable memory error into a process
.SH SYNOPSIS
.B hornet
[
.B \-D
.I delay
] [
.B \-v
] [
.I address\-options
]
.I COMMAND
[
.I ARGS
]
.br
.B hornet
[
.B \-D
.I delay
] [
.B \-v
] [
.I address\-options
]
\-p
.I PID
.br
.B hornet
[
.B \-v
]
\-P
.I PID
.SH CONFIGURATION
.B hornet
requires that error injection be enabled in ACPI 5.0 mode by the BIOS and that the
error injection driver
.B einj
is loaded. Running on a processor that does not support error recovery
will crash the system when the injected error is consumed.
.SH DESCRIPTION
.B hornet
injects an uncorrectable memory error into a program to test recovery paths.
It waits for the process to terminate and tries to take the target page offline
if the application did not trigger an error by accessing the injected address.
.SH OPTIONS
.TP
.BI \-D " delay"
Pause for
.I delay
seconds before injecting the memory error. A floating point value may be specified.
.TP
.B \-v
print verbose details about execution progress.
.TP
.B address-options
.BI \-a " address"
inject at the specified virtual address
.br
.B \-t
choose an address randomly from the text (code) section
.br
.B \-d
choose an address randomly from the initialized data section
.br
.B \-b
choose an address randomly from the uninitialized data section (heap)
.br
.B \-s
choose an address randomly from the stack section
.br
.B \-m
choose an address randomly from an anonymous mapped section
.br
If none of the address options are specified
.B hornet
will choose an address from the largest writable address region
in the process.
.TP
.BI \-p " PID"
inject errors into an already running process
.TP
.BI \-P " PID"
stop the process using ptrace(2), inject at the next instruction to be executed, then continue.
.SH EXIT STATUS
.SH FILES
.PP
/sys/kernel/debug/apei/einj/*
.RS 4
Error injection interface.
.RE
.PP
/sys/devices/system/memory/hard_offline_page
.RS 4
Interface to ask kernel to take pages offline.
.RE
.SH NOTES
.SH BUGS
.SH EXAMPLE
.SH SEE ALSO