/linux-6.12.1/Documentation/fault-injection/ |
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 …]
|
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 …]
|
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
|
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 …]
|
/linux-6.12.1/drivers/misc/ |
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. 17 #include <linux/fault-inject.h> 19 /* TMR Inject Register offsets */ 34 * struct xtmr_inject_dev - Driver data for TMR Inject 46 MODULE_PARM_DESC(inject_request, "default fault injection attributes"); 53 iowrite32(value, xtmr_inject->regs + addr); in xtmr_inject_write() 59 return ioread32(xtmr_inject->regs + addr); in xtmr_inject_read() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/misc/ |
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 …]
|
/linux-6.12.1/arch/arm64/kvm/ |
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 …]
|
/linux-6.12.1/lib/ |
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>
|
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 …]
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 6 ccflags-remove-$(CONFIG_FUNCTION_TRACER) += $(CC_FLAGS_FTRACE) 8 # These files are disabled because they produce lots of non-interesting and/or 16 KCOV_INSTRUMENT_fault-inject.o := n 20 # Use -ffreestanding to ensure that the compiler does not try to "optimize" 22 CFLAGS_string.o := -ffreestanding 28 CFLAGS_string.o += -fno-stack-protector 31 lib-y := ctype.o string.o vsprintf.o cmdline.o \ 32 rbtree.o radix-tree.o timerqueue.o xarray.o \ 40 lib-$(CONFIG_PRINTK) += dump_stack.o [all …]
|
D | usercopy.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <linux/fault-inject-usercopy.h> 13 /* out-of-line parts */ 38 * first non-zero byte is). 41 * * 0: There were non-zero bytes present in the buffer. 43 * * -EFAULT: access to userspace failed. 53 from -= align; in check_zeroed_user() 57 return -EFAULT; in check_zeroed_user() 68 size -= sizeof(unsigned long); in check_zeroed_user() 81 return -EFAULT; in check_zeroed_user()
|
D | strncpy_from_user.c | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <linux/fault-inject-usercopy.h> 5 #include <linux/kasan-checks.h> 13 #include <asm/word-at-a-time.h> 19 (((long) dst | (long) src) & (sizeof(long) - 1)) 24 * 'count' is the user-supplied count (return 'count' if we 26 * -EFAULT if we hit it). 40 /* Fall back to byte-at-a-time if we get a page fault */ in do_strncpy_from_user() 50 * as an opaque set of bytes. Without the post-NUL mask, any BPF in do_strncpy_from_user() 65 max -= sizeof(unsigned long); in do_strncpy_from_user() [all …]
|
/linux-6.12.1/tools/testing/selftests/kvm/x86_64/ |
D | nested_exceptions_test.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 /* Arbitrary 32-bit error code injected by this test. */ 32 * Bit '1' is set if the fault occurred when looking up a descriptor in the 46 * led to the double fault. 77 struct vmcb *vmcb = svm->vmcb; in svm_run_l2() 78 struct vmcb_control_area *ctrl = &vmcb->control; in svm_run_l2() 80 vmcb->save.rip = (u64)l2_code; in svm_run_l2() 81 run_guest(vmcb, svm->vmcb_gpa); in svm_run_l2() 86 GUEST_ASSERT_EQ(ctrl->exit_code, (SVM_EXIT_EXCP_BASE + vector)); in svm_run_l2() 87 GUEST_ASSERT_EQ(ctrl->exit_info_1, error_code); in svm_run_l2() [all …]
|
/linux-6.12.1/arch/x86/kvm/vmx/ |
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() 41 fault = is_noncanonical_address(*gva, vcpu); in sgx_get_encls_gva() 44 fault = (s.unusable) || in sgx_get_encls_gva() 48 (((u64)*gva + size - 1) > s.limit + 1)); in sgx_get_encls_gva() 50 if (fault) in sgx_get_encls_gva() 52 return fault ? -EINVAL : 0; in sgx_get_encls_gva() 68 return -EFAULT; in sgx_read_hva() [all …]
|
/linux-6.12.1/drivers/ufs/core/ |
D | ufs-fault-injection.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 #include <linux/fault-inject.h> 9 #include "ufs-fault-injection.h" 22 * For more details about fault injection, please refer to 23 * Documentation/fault-injection/fault-injection.rst. 28 "Fault injection. trigger_eh=<interval>,<probability>,<space>,<times>"); 34 "Fault injection. timeout=<interval>,<probability>,<space>,<times>"); 39 const char *fault_str = kp->arg; in ufs_fault_get() 48 if (kp->arg == g_trigger_eh_str) in ufs_fault_set() 50 else if (kp->arg == g_timeout_str) in ufs_fault_set() [all …]
|
/linux-6.12.1/tools/testing/fault-injection/ |
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 …]
|
/linux-6.12.1/Documentation/mm/ |
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 …]
|
/linux-6.12.1/drivers/nvme/host/ |
D | fault_inject.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * fault injection support for nvme. 13 /* optional fault injection attributes boot time option: 23 struct fault_attr *attr = &fault_inj->attr; in nvme_fault_inject_init() 25 /* set default fault injection attribute */ in nvme_fault_inject_init() 43 fault_inj->parent = parent; in nvme_fault_inject_init() 46 fault_inj->status = NVME_SC_INVALID_OPCODE; in nvme_fault_inject_init() 47 fault_inj->dont_retry = true; in nvme_fault_inject_init() 48 debugfs_create_x16("status", 0600, dir, &fault_inj->status); in nvme_fault_inject_init() 49 debugfs_create_bool("dont_retry", 0600, dir, &fault_inj->dont_retry); in nvme_fault_inject_init() [all …]
|
/linux-6.12.1/drivers/infiniband/hw/hfi1/ |
D | fault.h | 1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 9 #include <linux/fault-inject.h> 20 struct fault { struct
|
/linux-6.12.1/mm/ |
D | failslab.c | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <linux/fault-inject.h> 3 #include <linux/error-injection.h> 23 /* No fault-injection for bootstrap cache */ in should_failslab() 34 if (failslab.cache_filter && !(s->flags & SLAB_FAILSLAB)) in should_failslab() 46 return should_fail_ex(&failslab.attr, s->object_size, flags) ? -ENOMEM : 0; in should_failslab() 66 debugfs_create_bool("ignore-gfp-wait", mode, dir, in failslab_debugfs_init() 68 debugfs_create_bool("cache-filter", mode, dir, in failslab_debugfs_init()
|
D | fail_page_alloc.c | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <linux/fault-inject.h> 4 #include <linux/error-injection.h> 58 debugfs_create_bool("ignore-gfp-wait", mode, dir, in fail_page_alloc_debugfs() 60 debugfs_create_bool("ignore-gfp-highmem", mode, dir, in fail_page_alloc_debugfs() 62 debugfs_create_u32("min-order", mode, dir, &fail_page_alloc.min_order); in fail_page_alloc_debugfs()
|
/linux-6.12.1/net/sunrpc/ |
D | fail.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 #include <linux/fault-inject.h>
|
/linux-6.12.1/drivers/media/platform/qcom/venus/ |
D | dbgfs.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #include <linux/fault-inject.h>
|
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()
|
/linux-6.12.1/Documentation/virt/kvm/devices/ |
D | s390_flic.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 FLIC handles floating (non per-cpu) interrupts, i.e. I/O, service and some 8 machine check interruptions. All interrupts are stored in a per-vm list of 14 - add interrupts (KVM_DEV_FLIC_ENQUEUE) 15 - inspect currently pending interrupts (KVM_FLIC_GET_ALL_IRQS) 16 - purge all pending floating interrupts (KVM_DEV_FLIC_CLEAR_IRQS) 17 - purge one pending floating I/O interrupt (KVM_DEV_FLIC_CLEAR_IO_IRQ) 18 - enable/disable for the guest transparent async page faults 19 - register and modify adapter interrupt sources (KVM_DEV_FLIC_ADAPTER_*) 20 - modify AIS (adapter-interruption-suppression) mode state (KVM_DEV_FLIC_AISM) [all …]
|