/openbmc/linux/Documentation/fault-injection/ |
H A D | fault-injection.rst | 2 Fault injection capabilities infrastructure 5 See also drivers/md/md-faulty.c and "every_nth" module option for scsi_debug. 8 Available fault injection capabilities 9 -------------------------------------- 11 - failslab 15 - fail_page_alloc 19 - fail_usercopy 23 - fail_futex 25 injects futex deadlock and uaddr fault errors. 27 - fail_sunrpc [all …]
|
H A D | notifier-error-inject.rst | 4 Notifier error injection provides the ability to inject artificial errors to 15 ---------------------------------- 18 /sys/kernel/debug/notifier-error-inject/pm/actions/<notifier event>/error 26 Example: Inject PM suspend error (-12 = -ENOMEM):: 28 # cd /sys/kernel/debug/notifier-error-inject/pm/ 29 # echo -12 > actions/PM_SUSPEND_PREPARE/error 34 ---------------------------------------------- 37 /sys/kernel/debug/notifier-error-inject/memory/actions/<notifier event>/error 44 Example: Inject memory hotplug offline error (-12 == -ENOMEM):: 46 # cd /sys/kernel/debug/notifier-error-inject/memory [all …]
|
H A D | index.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 fault-injection 10 fault-injection 11 notifier-error-inject 12 nvme-fault-injection 13 provoke-crashes
|
H A D | nvme-fault-injection.rst | 1 NVMe Fault Injection 3 Linux's fault injection framework provides a systematic way to support 10 Following examples show how to inject an error into the nvme. 16 Example 1: Inject default status code with no retry 17 --------------------------------------------------- 34 CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.15.0-rc8+ #2 68 EXT4-fs error (device nvme0n1): ext4_find_entry:1436: 71 Example 2: Inject default status code with retry 72 ------------------------------------------------ 92 CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.15.0-rc8+ #4 [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/misc/ |
H A D | xlnx,tmr-inject.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/misc/xlnx,tmr-inject.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Xilinx Triple Modular Redundancy(TMR) Inject IP 10 - Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com> 13 The Triple Modular Redundancy(TMR) Inject core provides functional fault 15 possibility to verify that the TMR subsystem error detection and fault 21 - xlnx,tmr-inject-1.0 35 - compatible [all …]
|
/openbmc/linux/drivers/misc/ |
H A D | xilinx_tmr_inject.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Driver for Xilinx TMR Inject IP. 8 * This driver is developed for TMR Inject IP,The Triple Modular Redundancy(TMR) 9 * Inject provides fault injection. 16 #include <linux/fault-inject.h> 18 /* TMR Inject Register offsets */ 33 * struct xtmr_inject_dev - Driver data for TMR Inject 45 MODULE_PARM_DESC(inject_request, "default fault injection attributes"); 52 iowrite32(value, xtmr_inject->regs + addr); in xtmr_inject_write() 58 return ioread32(xtmr_inject->regs + addr); in xtmr_inject_read() [all …]
|
/openbmc/openbmc-test-automation/openpower/ras/ |
H A D | ras_utils.robot | 42 ... grep -i ${signature_desc} ${error_log_file_path} 46 Inject Recoverable Error With Threshold Limit 47 [Documentation] Inject and verify recoverable error on processor through 50 ... 1. Inject recoverable error on a given target 58 # interface_type Inject error through 'BMC' or 'HOST'. 59 # fir_address FIR (Fault isolation register) value (e.g. 2011400). 65 Run Keyword Inject Error Through ${interface_type} 74 Inject Unrecoverable Error 75 [Documentation] Inject and verify unrecoverable error on processor through 78 ... 1. Inject unrecoverable error on a given target [all …]
|
/openbmc/openbmc-test-automation/lib/ras/ |
H A D | host_utils.robot | 20 # input_cmd -l|--list-chips 21 # -c|--chip <chip-id> <addr> 27 [Documentation] Executes opal-gard command on OS with the given 33 ${output} ${stderr} ${rc}= OS Execute Command opal-gard ${input_cmd} 42 # fir_address FIR (Fault isolation register) value (e.g. 2011400). 45 ${cmd}= Catenate putscom -c 0x${proc_chip_id} 0x${fir_address} 0x${value} 55 ${cmd}= Catenate -l | grep -i ${chip_type} | cut -c1-8 58 # getscom -l | grep processor | cut -c1-8 59 # 00000008 - False 60 # 00000000 - True [all …]
|
/openbmc/linux/lib/ |
H A D | fault-inject-usercopy.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 #include <linux/fault-inject.h> 3 #include <linux/fault-inject-usercopy.h>
|
H A D | Kconfig.debug | 1 # SPDX-License-Identifier: GPL-2.0-only 19 parameter printk.time=1. See Documentation/admin-guide/kernel-parameters.rst 50 int "Default console loglevel (1-15)" 60 Note: This does not affect the log level of un-prefixed printk() 65 int "quiet console loglevel (1-15)" 76 int "Default message log level (1-7)" 82 This was hard-coded to KERN_WARNING since at least 2.6.10 but folks 118 enabled/disabled based on various levels of scope - per source file, 158 nullarbor:~ # echo -n 'file svcsock.c line 1603 +p' > 162 nullarbor:~ # echo -n 'file svcsock.c +p' > [all …]
|
/openbmc/linux/arch/arm64/kvm/ |
H A D | inject_fault.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Fault injection for both 32 and 64bit guests. 5 * Copyright (C) 2012,2013 - ARM Ltd 9 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 74 * an AArch32 fault, it means we managed to trap an EL0 fault. in inject_abt64() 159 * kvm_inject_dabt - inject a data abort into the guest 175 * kvm_inject_pabt - inject a prefetch abort into the guest 204 * Size Fault at level 0, as if exceeding PARange. in kvm_inject_size_fault() 206 * Non-LPAE guests will only get the external abort, as there in kvm_inject_size_fault() 219 * kvm_inject_undefined - inject an undefined instruction into the guest [all …]
|
/openbmc/qemu/tests/qemu-iotests/ |
H A D | 083 | 32 rm -f "$SOCK_DIR/nbd.sock" 33 rm -f nbd-fault-injector.out 34 rm -f nbd-fault-injector.conf 51 --classic-negotiation) 53 extra_args=--classic-negotiation 56 --tcp) 60 --unix) 75 cat > "$TEST_DIR/nbd-fault-injector.conf" <<EOF 76 [inject-error] 87 rm -f "$SOCK_DIR/nbd.sock" [all …]
|
H A D | nbd-fault-injector.py | 2 # NBD server - fault injection utility 5 # [inject-error "disconnect-neg1"] 11 # name, so give each [inject-error] a unique name. 13 # inject-error options: 14 # event - name of the trigger event 15 # "neg1" - first part of negotiation struct 16 # "export" - export struct 17 # "neg2" - second part of negotiation struct 18 # "request" - NBD request struct 19 # "reply" - NBD reply struct [all …]
|
H A D | 277 | 30 conf_file = file_path('nbd-fault-injector.conf') 31 nbd_sock = file_path('nbd-sock', base_dir=iotests.sock_dir) 36 Create configuration file for the nbd-fault-injector.py 41 conff.write('[inject-error]\nevent={}\nwhen=after'.format(event)) 47 srv = subprocess.Popen(['./nbd-fault-injector.py', '--classic-negotiation', 60 log('NBD client: QEMU-IO write') 62 ['-c', 'write -P 0x7 0 3M', '--image-opts', 64 'reconnect-delay=7'.format(nbd_sock)]
|
/openbmc/linux/drivers/ufs/core/ |
H A D | ufs-fault-injection.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 #include <linux/fault-inject.h> 7 #include "ufs-fault-injection.h" 20 * For more details about fault injection, please refer to 21 * Documentation/fault-injection/fault-injection.rst. 26 "Fault injection. trigger_eh=<interval>,<probability>,<space>,<times>"); 32 "Fault injection. timeout=<interval>,<probability>,<space>,<times>"); 37 const char *fault_str = kp->arg; in ufs_fault_get() 46 if (kp->arg == g_trigger_eh_str) in ufs_fault_set() 48 else if (kp->arg == g_timeout_str) in ufs_fault_set() [all …]
|
/openbmc/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | nested_exceptions_test.c | 1 // SPDX-License-Identifier: GPL-2.0-only 18 /* Arbitrary 32-bit error code injected by this test. */ 34 * Bit '1' is set if the fault occurred when looking up a descriptor in the 48 * led to the double fault. 79 struct vmcb *vmcb = svm->vmcb; in svm_run_l2() 80 struct vmcb_control_area *ctrl = &vmcb->control; in svm_run_l2() 82 vmcb->save.rip = (u64)l2_code; in svm_run_l2() 83 run_guest(vmcb, svm->vmcb_gpa); in svm_run_l2() 88 GUEST_ASSERT_EQ(ctrl->exit_code, (SVM_EXIT_EXCP_BASE + vector)); in svm_run_l2() 89 GUEST_ASSERT_EQ(ctrl->exit_info_1, error_code); in svm_run_l2() [all …]
|
/openbmc/linux/tools/testing/fault-injection/ |
H A D | failcmd.sh | 2 # SPDX-License-Identifier: GPL-2.0 5 # failcmd.sh - run a command with injecting slab/page allocation failures 8 # failcmd.sh --help 12 # Run command with injecting slab/page allocation failures by fault 24 -p percent 25 --probability=percent 29 -t value 30 --times=value 34 --oom-kill-allocating-task=value 39 -h, --help [all …]
|
/openbmc/linux/arch/x86/kvm/vmx/ |
H A D | sgx.c | 1 // SPDX-License-Identifier: GPL-2.0 28 bool fault; in sgx_get_encls_gva() local 30 /* Skip vmcs.GUEST_DS retrieval for 64-bit mode to avoid VMREADs. */ in sgx_get_encls_gva() 38 fault = true; in sgx_get_encls_gva() 40 fault = is_noncanonical_address(*gva, vcpu); in sgx_get_encls_gva() 43 fault = (s.unusable) || in sgx_get_encls_gva() 47 (((u64)*gva + size - 1) > s.limit + 1)); in sgx_get_encls_gva() 49 if (fault) in sgx_get_encls_gva() 51 return fault ? -EINVAL : 0; in sgx_get_encls_gva() 67 return -EFAULT; in sgx_read_hva() [all …]
|
/openbmc/linux/drivers/infiniband/hw/hfi1/ |
H A D | fault.h | 1 /* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */ 9 #include <linux/fault-inject.h> 20 struct fault { struct
|
/openbmc/linux/drivers/nvme/host/ |
H A D | fault_inject.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * fault injection support for nvme. 12 /* optional fault injection attributes boot time option: 22 struct fault_attr *attr = &fault_inj->attr; in nvme_fault_inject_init() 24 /* set default fault injection attribute */ in nvme_fault_inject_init() 42 fault_inj->parent = parent; in nvme_fault_inject_init() 45 fault_inj->status = NVME_SC_INVALID_OPCODE; in nvme_fault_inject_init() 46 fault_inj->dont_retry = true; in nvme_fault_inject_init() 47 debugfs_create_x16("status", 0600, dir, &fault_inj->status); in nvme_fault_inject_init() 48 debugfs_create_bool("dont_retry", 0600, dir, &fault_inj->dont_retry); in nvme_fault_inject_init() [all …]
|
/openbmc/linux/mm/ |
H A D | failslab.c | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <linux/fault-inject.h> 21 /* No fault-injection for bootstrap cache */ in __should_failslab() 32 if (failslab.cache_filter && !(s->flags & SLAB_FAILSLAB)) in __should_failslab() 44 return should_fail_ex(&failslab.attr, s->object_size, flags); in __should_failslab() 63 debugfs_create_bool("ignore-gfp-wait", mode, dir, in failslab_debugfs_init() 65 debugfs_create_bool("cache-filter", mode, dir, in failslab_debugfs_init()
|
/openbmc/linux/Documentation/mm/ |
H A D | hwpoison.rst | 41 The code consists of a the high level handler in mm/memory-failure.c, 46 of applications. KVM support requires a recent qemu-kvm release. 49 KVM can inject the machine check into the guest with the proper 109 * madvise(MADV_HWPOISON, ....) (as root) - Poison a page in the 112 * hwpoison-inject module through debugfs ``/sys/kernel/debug/hwpoison/`` 114 corrupt-pfn 115 Inject hwpoison fault at PFN echoed into this file. This does 118 unpoison-pfn 119 Software-unpoison page at PFN echoed into this file. This way 127 corrupt-filter-dev-major, corrupt-filter-dev-minor [all …]
|
/openbmc/linux/net/sunrpc/ |
H A D | fail.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 #include <linux/fault-inject.h>
|
/openbmc/linux/drivers/media/platform/qcom/venus/ |
H A D | dbgfs.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #include <linux/fault-inject.h>
|
H A D | dbgfs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/fault-inject.h> 17 core->root = debugfs_create_dir("venus", NULL); in venus_dbgfs_init() 18 debugfs_create_x32("fw_level", 0644, core->root, &venus_fw_debug); in venus_dbgfs_init() 21 fault_create_debugfs_attr("fail_ssr", core->root, &venus_ssr_attr); in venus_dbgfs_init() 27 debugfs_remove_recursive(core->root); in venus_dbgfs_deinit()
|