linux/Documentation
Akinobu Mita 8d43828814 fault-injection: notifier error injection
This patchset provides kernel modules that can be used to test the error
handling of notifier call chain failures by injecting artifical errors to
the following notifier chain callbacks.

 * CPU notifier
 * PM notifier
 * memory hotplug notifier
 * powerpc pSeries reconfig notifier

Example: Inject CPU offline error (-1 == -EPERM)

  # cd /sys/kernel/debug/notifier-error-inject/cpu
  # echo -1 > actions/CPU_DOWN_PREPARE/error
  # echo 0 > /sys/devices/system/cpu/cpu1/online
  bash: echo: write error: Operation not permitted

The patchset also adds cpu and memory hotplug tests to
tools/testing/selftests These tests first do simple online and offline
test and then do fault injection tests if notifier error injection
module is available.

This patch:

The notifier error injection provides the ability to inject artifical
errors to specified notifier chain callbacks.  It is useful to test the
error handling of notifier call chain failures.

This adds common basic functions to define which type of events can be
fail and to initialize the debugfs interface to control what error code
should be returned and which event should be failed.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Greg KH <greg@kroah.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <michael@ellerman.id.au>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-30 17:25:22 -07:00
..
ABI Driver core merge for 3.6-rc1 2012-07-26 11:25:33 -07:00
accounting
acpi Update documentation for parameter *notrigger* in einj.txt 2012-03-30 03:30:19 -04:00
aoe Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
auxdisplay
backlight backlight: new backlight driver for LP855x devices 2012-03-23 16:58:33 -07:00
blackfin Documentation: Fix typo in multiple files in Documentation 2012-04-16 14:37:13 +02:00
block
blockdev Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
cdrom
cgroups cgroup: Update remount documentation 2012-07-17 11:10:52 -07:00
connector connector: Move cn_test.c away from NLMSG_PUT(). 2012-06-26 21:19:02 -07:00
console
cpu-freq
cpuidle cpuidle: add a sysfs entry to disable specific C state for debug purpose. 2012-03-30 01:52:58 -04:00
cris CRIS: Update documentation 2012-04-03 13:09:18 +02:00
crypto
development-process
device-mapper dm: verity fix documentation 2012-07-03 12:55:41 +01:00
devicetree Merge branch 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux 2012-07-28 13:43:12 -07:00
DocBook Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-07-20 12:30:48 -04:00
driver-model Pin control subsystem changes for kernel 3.5: 2012-05-21 16:58:23 -07:00
dvb Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-05-24 10:21:51 -07:00
early-userspace
EDID drm: allow loading an EDID as firmware to override broken monitor 2012-03-20 10:09:28 +00:00
extcon Documentation/extcon: porting guide for Android kernel switch driver. 2012-04-20 09:24:27 -07:00
fault-injection fault-injection: notifier error injection 2012-07-30 17:25:22 -07:00
fb Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
filesystems don't pass nameidata to ->create() 2012-07-14 16:34:47 +04:00
firmware_class
frv
hid HID: uhid: add documentation 2012-06-18 13:42:03 +02:00
hwmon hwmon: Honeywell Humidicon HIH-6130/HIH-6131 humidity and temperature sensor driver 2012-07-21 21:48:44 -07:00
i2c i2c-i801: Enable IRQ for SMBus transactions 2012-07-24 14:13:58 +02:00
i2o Documentation: Fix multiple typo in Documentation 2012-03-07 16:08:24 +01:00
ia64
ide Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
infiniband
input Input: MT - Include win8 support 2012-07-05 07:13:51 +02:00
ioctl mei: update Documentation/ioctl/ioctl-number.txt 2012-05-09 14:00:31 -07:00
isdn Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
ja_JP
kbuild Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2012-05-28 10:37:56 -07:00
kdump kexec: update URL of kexec homepage 2012-07-18 18:35:57 -07:00
ko_KR driver-core: documentation: fix up Greg's email address 2012-02-15 14:48:01 -08:00
laptops Documentation: asus-laptop.txt references an obsolete Kconfig item 2012-06-28 12:04:16 +02:00
leds LEDS: add BlinkM RGB LED driver, documentation and update MAINTAINERS 2012-07-24 16:00:51 +08:00
m68k
make
memory-devices memory: emif: add basic infrastructure for EMIF driver 2012-05-02 00:10:49 -07:00
mips
misc-devices mei: mei.txt: minor grammar fixes 2012-06-13 13:38:25 -07:00
mmc mmc: core: Fixup delayed work clock gating patch 2012-01-11 23:58:43 -05:00
mn10300
mtd
namespaces
netlabel
networking net-next: minor cleanups for bonding documentation 2012-07-22 12:44:01 -07:00
nfc NFC: Error management documentation 2012-07-09 16:42:11 -04:00
parisc Documentation: Fix typo in multiple files in Documentation 2012-04-16 14:37:13 +02:00
PCI
pcmcia
power Merge branch 'pm-doc' 2012-07-19 00:03:46 +02:00
powerpc Revert "powerpc/hw-breakpoint: Use generic hw-breakpoint interfaces for new PPC ptrace flags" 2012-05-22 14:37:24 +10:00
pps
prctl security: Minor improvements to no_new_privs documentation 2012-07-08 00:25:48 +10:00
pti
ptp
rapidio
RCU rcu: Update documentation to cover call_srcu() and srcu_barrier(). 2012-07-02 12:34:03 -07:00
s390 Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
scheduler sched: Remove stale power aware scheduling remnants and dysfunctional knobs 2012-05-17 13:48:56 +02:00
scsi Merge branch 'delete-mca' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2012-05-23 17:12:06 -07:00
security Smack: allow for significantly longer Smack labels v4 2012-05-14 22:48:38 -07:00
serial serial: delete the MCA specific 8250 support. 2012-05-17 19:02:14 -04:00
sh
sound Sound update for 3.6-rc1 2012-07-24 13:37:37 -07:00
spi spi: create a message queueing infrastructure 2012-03-07 19:19:48 -07:00
sysctl fs: make dumpable=2 require fully qualified path 2012-07-30 17:25:11 -07:00
target Documentation: Fix typo in tcm_mod_builder.py 2012-02-10 09:52:18 +01:00
telephony
thermal Thermal: Documentation update 2012-07-24 23:20:40 -04:00
timers
trace tracing: Fix kconfig warning due to a typo 2012-05-08 14:17:25 +02:00
usb usb: gadget: mass_storage: add documentation 2012-06-15 14:32:30 +03:00
vDSO
video4linux Documentation: Add newline at end-of-file to files lacking one 2012-07-20 23:10:28 +02:00
virtual KVM updates for the 3.6 merge window 2012-07-24 12:01:20 -07:00
vm mm/frontswap: cleanup doc and comment error 2012-07-23 11:16:20 -04:00
w1 w1: Add 1-wire slave device driver for DS28E04-100 2012-06-13 16:47:10 -07:00
watchdog Watchdog: DA9052/53 PMIC watchdog support 2012-05-30 07:56:12 +02:00
wimax
x86 Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-07-26 13:13:25 -07:00
zh_CN Fix a mistake sentence in the file 'Documentation/zh_CN/magic-number.txt' 2012-05-07 17:20:27 -07:00
.gitignore
00-INDEX MCA: delete all remaining traces of microchannel bus support. 2012-05-17 19:06:13 -04:00
applying-patches.txt
atomic_ops.txt
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
Changes
circular-buffers.txt
clk.txt Documentation: common clk API 2012-03-16 20:35:01 +00:00
coccinelle.txt coccinelle.txt: update documentation to include M= option 2012-01-14 22:25:56 +01:00
CodingStyle CodingStyle: add kmalloc_array() to memory allocators 2012-05-31 17:49:26 -07:00
cpu-hotplug.txt documentation: remove references to cpu_*_map. 2012-03-29 15:38:31 +10:30
cpu-load.txt
cputopology.txt
crc32.txt crc32: move long comment about crc32 fundamentals to Documentation/ 2012-03-23 16:58:37 -07:00
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt Doc: document max raw dev number 2012-06-03 12:05:50 +02:00
digsig.txt
DMA-API-HOWTO.txt
DMA-API.txt
DMA-attributes.txt common: DMA-mapping: add NON-CONSISTENT attribute 2012-03-28 16:36:44 +02:00
dma-buf-sharing.txt dma-buf: add initial vmap documentation 2012-05-25 12:51:11 +05:30
DMA-ISA-LPC.txt
dmaengine.txt Documentation: Fix multiple typo in Documentation 2012-03-07 16:08:24 +01:00
dontdiff Documentation: remove 'mach' from dontdiff file 2012-03-30 16:03:15 -07:00
dynamic-debug-howto.txt dynamic_debug: update Documentation/*, Kconfig.debug 2012-04-30 16:26:30 -04:00
edac.txt Documentation: Fix typo in multiple files in Documentation 2012-04-16 14:37:13 +02:00
eisa.txt MCA: delete all remaining traces of microchannel bus support. 2012-05-17 19:06:13 -04:00
email-clients.txt
feature-removal-schedule.txt Merge branch 'kmap_atomic' of git://github.com/congwang/linux 2012-07-27 11:26:48 -07:00
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
gpio.txt gpio: add flags to export GPIOs when requesting 2012-04-05 21:24:06 -07:00
highuid.txt
HOWTO docs: update HOWTO for 2.6.x -> 3.x versioning 2012-04-19 19:13:08 -07:00
hw_random.txt
hwspinlock.txt
init.txt
initrd.txt Documentation/initrd.txt: Change the location of util-linux 2012-05-25 16:18:34 +02:00
intel_txt.txt
Intel-IOMMU.txt
io_ordering.txt
io-mapping.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ-domain.txt irq_domain: add documentation and MAINTAINERS entry. 2012-02-14 14:06:47 -07:00
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt SCSI misc on 20120724 2012-07-24 18:11:22 -07:00
kmemcheck.txt
kmemleak.txt
kobject.txt driver-core: documentation: fix up Greg's email address 2012-02-15 14:48:01 -08:00
kprobes.txt
kref.txt
ldm.txt
local_ops.txt
lockdep-design.txt
lockstat.txt
lockup-watchdogs.txt watchdog: Update documentation 2012-02-11 15:11:28 +01:00
logo.gif
logo.txt
magic-number.txt drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
Makefile mei: move doc files Documentation/misc-devices/mei 2012-05-09 13:59:09 -07:00
ManagementStyle Documentation: ManagementStyle: fixed typo 2012-06-28 12:03:15 +02:00
md.txt
media-framework.txt [media] media: Add link_validate() op to check links to the sink pad 2012-05-14 08:44:11 -03:00
memory-barriers.txt
memory-hotplug.txt Documentation: Fix typo in multiple files in Documentation 2012-04-16 14:37:13 +02:00
memory.txt
mono.txt Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
mutex-design.txt
nommu-mmap.txt
numastat.txt Doc: Update numastat.txt 2012-02-28 16:05:06 +01:00
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
pi-futex.txt
pinctrl.txt pinctrl: implement devm_pinctrl_get()/put() 2012-04-18 13:53:13 +02:00
pnp.txt
preempt-locking.txt
printk-formats.txt vsprintf: add support of '%*ph[CDN]' 2012-07-30 17:25:14 -07:00
prio_tree.txt
ramoops.txt pstore/ram: Add ftrace messages handling 2012-07-17 10:14:17 -07:00
rbtree.txt
remoteproc.txt remoteproc: adopt the driver core's alloc/add/del/put naming 2012-07-06 00:53:27 +03:00
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt rpmsg: add virtio-based remote processor messaging bus 2012-02-08 22:53:58 +02:00
rt-mutex-design.txt
rt-mutex.txt
rtc.txt
SAK.txt
SecurityBugs
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
sparse.txt
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt stable: Allow merging of backports for serious user-visible performance issues 2012-06-25 12:11:58 -07:00
static-keys.txt Documentation: Fix typo in multiple files in Documentation 2012-04-16 14:37:13 +02:00
SubmitChecklist
SubmittingDrivers
SubmittingPatches Documentation/SubmittingPatches: suggested the use of scripts/get_maintainer.pl 2012-05-25 16:18:30 +02:00
svga.txt
sysfs-rules.txt
sysrq.txt Documentation: sysrq: Crutcher Dunnavant is unavailable 2012-03-30 16:03:15 -07:00
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt
video-output.txt
vme_api.txt VME: Move API documentation to Documentation folder 2012-05-08 16:01:34 -07:00
volatile-considered-harmful.txt
workqueue.txt workqueue: reimplement WQ_HIGHPRI using a separate worker_pool 2012-07-13 22:24:45 -07:00
xz.txt
zorro.txt