• Akinobu Mita's avatar
    fault-injection: notifier error injection · 8d438288
    Akinobu Mita authored
    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: default avatarAkinobu 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: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    8d438288
notifier-error-inject.h 614 Bytes