/linux/rust/kernel/ |
H A D | rbtree.rs | 1 // SPDX-License-Identifier: GPL-2.0 3 //! Red-black trees. 7 //! Reference: <https://docs.kernel.org/core-api/rbtree.html> 17 /// A red-black tree with owned nodes. 19 /// It is backed by the kernel C red-black trees. 103 /// fn insert_test(tree: &SpinLock<RBTree<u32, u32>>) -> Result { 104 /// // Pre-allocate node. This may fail (as it allocates memory). 148 /// // Create a preallocated reservation that we can re-use later. 169 /// Non-null parent/children pointers stored in instances of the `rb_node` C struct are always 176 // SAFETY: An [`RBTree`] allows the same kinds of access to its values that a struct allows to its [all …]
|
H A D | kunit.rs | 1 // SPDX-License-Identifier: GPL-2.0 3 //! KUnit-based macros for Rust unit tests. 7 //! Reference: <https://docs.kernel.org/dev-tools/kunit/index.html> 11 /// Prints a KUnit error-level message. 16 // SAFETY: The format string is null-terminated and the `%pA` specifier matches the argument we in err() 27 /// Prints a KUnit info-level message. 32 // SAFETY: The format string is null-terminated and the `%pA` specifier matches the argument we in info() 60 static LINE: i32 = core::line!() as i32 - $diff; 63 // SAFETY: FFI call without safety requirements. 69 // `scripts/rustdoc_test_gen.rs`) or if some non-test code calls this macro by [all …]
|
/linux/arch/arm/mm/ |
H A D | proc-sa110.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * linux/arch/arm/mm/proc-sa110.S 5 * Copyright (C) 1997-2002 Russell King 6 * hacked for non-paged-MM by Hyok S. Choi, 2003. 11 * functions on the StrongARM-110. 18 #include <asm/asm-offsets.h> 21 #include <asm/pgtable-hwdef.h> 24 #include "proc-macros.S" 98 mov r0, r0 @ safety 99 mov r0, r0 @ safety [all …]
|
H A D | proc-sa1100.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * linux/arch/arm/mm/proc-sa1100.S 5 * Copyright (C) 1997-2002 Russell King 6 * hacked for non-paged-MM by Hyok S. Choi, 2003. 11 * functions on the StrongARM-1100 and StrongARM-1110. 15 * 12-jun-2000, Erik Mouw (J.A.K.Mouw@its.tudelft.nl): 23 #include <asm/asm-offsets.h> 26 #include <asm/pgtable-hwdef.h> 28 #include "proc-macros.S" 43 mcr p15, 0, r0, c9, c0, 5 @ Allow read-buffer operations from userland [all …]
|
/linux/Documentation/rust/ |
H A D | general-information.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 ---------- 13 The Rust support in the kernel can link only `core <https://doc.rust-lang.org/core/>`_, 14 but not `std <https://doc.rust-lang.org/std/>`_. Crates for use in the 21 ------------------ 23 Rust kernel code is documented using ``rustdoc``, its built-in documentation 31 For linux-next, please see: 49 xdg-open Documentation/output/rust/rustdoc/kernel/index.html 51 To learn about how to write the documentation, please see coding-guidelines.rst. 55 ----------- [all …]
|
/linux/lib/ |
H A D | Kconfig.kasan | 1 # SPDX-License-Identifier: GPL-2.0-only 23 def_bool $(cc-option, -fsanitize=kernel-address) 26 def_bool $(cc-option, -fsanitize=kernel-hwaddress) 35 bool "KASAN: dynamic memory safety error detector" 43 Enables KASAN (Kernel Address Sanitizer) - a dynamic memory safety 44 error detector designed to find out-of-bounds and use-after-free bugs. 46 See Documentation/dev-tools/kasan.rst for details. 53 …def_bool (CC_IS_CLANG && $(cc-option,-fsanitize=kernel-address -mllvm -asan-kernel-mem-intrinsic-p… 54 (CC_IS_GCC && $(cc-option,-fsanitize=kernel-address --param asan-kernel-mem-intrinsic-prefix=1)) 69 2. Software Tag-Based KASAN (arm64 only, based on software memory [all …]
|
H A D | decompress_unzstd.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Important notes about in-place decompression 8 * most of the compressed data. There must be enough safety margin to 11 * The safety margin for ZSTD with a 128 KB block size is calculated below. 14 * The worst case for in-place decompression is that the beginning of 16 * uncompressible. Thus, we must look for worst-case expansion when the 42 * Now we have enough information to calculate the safety margin. We need 43 * - 22 bytes for the .zst file format headers; 44 * - 3 bytes per every 128 KiB of uncompressed size (one block header per 46 * - 128 KiB (biggest possible zstd block size) to make sure that the [all …]
|
H A D | Kconfig.kfence | 1 # SPDX-License-Identifier: GPL-2.0-only 7 bool "KFENCE: low-overhead sampling-based memory safety error detector" 12 KFENCE is a low-overhead sampling-based detector of heap out-of-bounds 13 access, use-after-free, and invalid-free errors. KFENCE is designed 17 See <file:Documentation/dev-tools/kfence.rst> for more details. 37 setting "kfence.sample_interval" to a non-zero value enables KFENCE. 52 CPU wake-ups if the system is idle, at the risk of a less predictable 55 Warning: The KUnit test suite fails with this option enabled - due to 68 Using static keys comes with trade-offs that need to be carefully 80 pages, resulting in spurious use-after-frees. The main purpose of
|
/linux/drivers/cpuidle/governors/ |
H A D | teo.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018 - 2021 Intel Corporation 10 * DOC: teo-description 20 * Of course, non-timer wakeup sources are more important in some use cases, 54 * non-timer wakeup events for which the measured idle duration falls into a bin 70 * - The sum of the "hits" metric for all of the idle states shallower than 74 * - The sum of the "intercepts" metric for all of the idle states shallower 76 * likely woken up by a non-timer wakeup source). 82 * - Traverse the enabled idle states shallower than the candidate one in the 85 * - For each of them compute the sum of the "intercepts" metrics over all [all …]
|
/linux/Documentation/devicetree/bindings/pci/ |
H A D | snps,dw-pcie-ep.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/pci/snps,dw-pcie-ep.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jingoo Han <jingoohan1@gmail.com> 11 - Gustavo Pimentel <gustavo.pimentel@synopsys.com> 16 # Please create a separate DT-schema for your DWC PCIe Endpoint controller 17 # and make sure it's assigned with the vendor-specific compatible string. 21 const: snps,dw-pcie-ep 23 - compatible [all …]
|
/linux/Documentation/trace/ |
H A D | kprobes.rst | 29 collect debugging and performance information non-disruptively. You 41 In the typical case, Kprobes-based instrumentation is packaged as 56 Kprobes -- e.g., the difference between a pre_handler and 62 ----------------------- 74 Next, Kprobes single-steps its copy of the probed instruction. 75 (It would be simpler to single-step the actual instruction in place, 80 After the instruction is single-stepped, Kprobes executes the 85 ----------------------- 105 ------------- 114 is an arbitrary piece of code -- typically just a nop instruction. [all …]
|
/linux/Documentation/admin-guide/laptops/ |
H A D | thinkpad-acpi.rst | 9 - Borislav Deianov <borislav@users.sf.net> 10 - Henrique de Moraes Holschuh <hmh@hmh.eng.br> 12 http://ibm-acpi.sf.net/ 19 This driver used to be named ibm-acpi until kernel 2.6.21 and release 20 0.13-20070314. It used to be in the drivers/acpi tree, but it was 21 moved to the drivers/misc tree and renamed to thinkpad-acpi for kernel 25 The driver is named "thinkpad-acpi". In some places, like module 29 "tpacpi" is used as a shorthand where "thinkpad-acpi" would be too 33 ------ 38 - Fn key combinations [all …]
|
/linux/drivers/mtd/maps/ |
H A D | sun_uflash.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* sun_uflash.c - Driver for user-programmable flash on 5 * This driver does NOT provide access to the OBP-flash for 6 * safety reasons-- use <linux>/drivers/sbus/char/flash.c instead. 31 #define UFLASH_BUSWIDTH 1 /* EBus is 8-bit */ 34 MODULE_DESCRIPTION("User-programmable flash device on Sun Microsystems boardsets"); 45 .name = "SUNW,???-????", 54 if (op->resource[1].flags) { in uflash_devinit() 55 /* Non-CFI userflash device-- once I find one we in uflash_devinit() 59 dp, (unsigned long long)op->resource[0].start); in uflash_devinit() [all …]
|
/linux/Documentation/devicetree/bindings/remoteproc/ |
H A D | ti,k3-r5f-rproc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/remoteproc/ti,k3-r5f-rproc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Suman Anna <s-anna@ti.com> 13 The TI K3 family of SoCs usually have one or more dual-core Arm Cortex R5F 15 either in a LockStep mode providing safety/fault tolerance features or in a 20 AM64x SoCs do not support LockStep mode, but rather a new non-safety mode 21 called "Single-CPU" mode, where only Core0 is used, but with ability to use 27 Each Dual-Core R5F sub-system is represented as a single DTS node [all …]
|
/linux/drivers/mfd/ |
H A D | wm8350-core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * wm8350-core.c -- Device access for Wolfson WM8350 65 return regmap_update_bits(wm8350->regmap, reg, mask, 0); in wm8350_clear_bits() 71 return regmap_update_bits(wm8350->regmap, reg, mask, mask); in wm8350_set_bits() 80 err = regmap_read(wm8350->regmap, reg, &data); in wm8350_reg_read() 82 dev_err(wm8350->dev, "read from reg R%d failed\n", reg); in wm8350_reg_read() 92 ret = regmap_write(wm8350->regmap, reg, val); in wm8350_reg_write() 95 dev_err(wm8350->dev, "write to reg R%d failed\n", reg); in wm8350_reg_write() 105 err = regmap_bulk_read(wm8350->regmap, start_reg, dest, regs); in wm8350_block_read() 107 dev_err(wm8350->dev, "block read starting from R%d failed\n", in wm8350_block_read() [all …]
|
/linux/Documentation/filesystems/ |
H A D | ocfs2.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 also make it attractive for non-clustered use. 12 You'll want to install the ocfs2-tools package in order to at least 16 Tools git tree: https://github.com/markfasheh/ocfs2-tools 28 - Joel Becker <joel.becker@oracle.com> 29 - Zach Brown <zach.brown@oracle.com> 30 - Mark Fasheh <mfasheh@suse.com> 31 - Kurt Hackel <kurt.hackel@oracle.com> 32 - Tao Ma <tao.ma@oracle.com> 33 - Sunil Mushran <sunil.mushran@oracle.com> [all …]
|
/linux/drivers/scsi/lpfc/ |
H A D | lpfc_mem.c | 4 * Copyright (C) 2017-2023 Broadcom. All Rights Reserved. The term * 6 * Copyright (C) 2004-2014 Emulex. All rights reserved. * 9 * Portions Copyright (C) 2004-2005 Christoph Hellwig * 17 * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE * 45 #define LPFC_MBUF_POOL_SIZE 64 /* max elements in MBUF safety pool */ 46 #define LPFC_MEM_POOL_SIZE 64 /* max elem in non-DMA safety pool */ 48 #define LPFC_RRQ_POOL_SIZE 256 /* max elements in non-DMA pool */ 49 #define LPFC_MBX_POOL_SIZE 256 /* max elements in MBX non-DMA pool */ 66 if (phba->sli_rev == LPFC_SLI_REV4 && in lpfc_mem_free_sli_mbox() 67 bf_get(lpfc_mqe_command, &mbox->u.mqe) == MBX_SLI4_CONFIG) { in lpfc_mem_free_sli_mbox() [all …]
|
/linux/Documentation/admin-guide/hw-vuln/ |
H A D | srso.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 known scenario of poisoning CPU functional units - the Branch Target 9 Buffer (BTB) and Return Address Predictor (RAP) in this case - and then 14 Return Address Stack/Return Stack Buffer). In some cases, a non-architectural 20 but the concern is that an attacker can mis-train the CPU BTB to predict 21 non-architectural CALL instructions in kernel space and use this to 23 leading to information disclosure via a speculative side-channel. 25 The issue is tracked under CVE-2023-20569. 28 ------------------- 30 AMD Zen, generations 1-4. That is, all families 0x17 and 0x19. Older [all …]
|
/linux/arch/x86/realmode/rm/ |
H A D | trampoline_64.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 15 * with 16-bit addressing and 16-bit data. CS has some value 24 * --full-contents --reloc to make sure there are no relocation 33 #include <asm/processor-flags.h> 80 * GDT tables in non default location kernel can be beyond 16MB and 104 /* SEV-ES supports non-zero IP for entry points - no alignment needed */ 135 * Check for memory encryption support. This is a safety net in 196 * paging and complete the switch to legacy 32-bit mode. 216 * APs start here on a direct transfer from 64-bit BIOS with identity 218 * 32-bit mode (to handle 4-level vs. 5-level paging), and to (re)load [all …]
|
/linux/arch/mips/kernel/ |
H A D | sync-r4k.c | 1 // SPDX-License-Identifier: GPL-2.0 17 #include <asm/r4k-timer.h> 35 * we want to have the fastest, inlined, non-debug version 36 * of a critical section, to be able to prove counter time-warps: 71 * loops safety exit, so we dont lock up in case the in check_counter_warp() 82 * we saw a time-warp of the counter going backwards: in check_counter_warp() 86 max_warp = max(max_warp, prev - now); in check_counter_warp() 99 WARN(!(now-start), in check_counter_warp() 101 now-start, end-start); in check_counter_warp() 116 while (atomic_read(&start_count) != cpus - 1) in check_counter_sync_source() [all …]
|
/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6ul-prti6g.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 7 /dts-v1/; 9 #include <dt-bindings/gpio/gpio.h> 16 stdout-path = &uart1; 19 clock_ksz8081_in: clock-ksz8081-in { 20 compatible = "fixed-clock"; 21 #clock-cells = <0>; 22 clock-frequency = <25000000>; 25 clock_ksz8081_out: clock-ksz8081-out { 26 compatible = "fixed-clock"; [all …]
|
/linux/drivers/hid/bpf/progs/ |
H A D | Thrustmaster__TCA-Yoke-Boeing.bpf.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 * are 2 vendor-defined inputs where the Input type appears to be defined wrongly. 69 * 0x81, 0x02, // Input (Data,Var,Abs) 90 --> Needs to be changed 74 …* 0x95, 0x20, // Report Count (32) 101 --> Needs to be chang… 104 if (hctx->size != expected_length) in SEC() 112 /* Safety check, our probe() should take care of this though */ in SEC() 117 * non-existing axis showing up. in SEC() 138 if (ctx->rdesc[91] != 0x02) /* Input for 0x59 Usage type has changed */ in probe() 139 ctx->retval = -EINVAL; in probe()
|
/linux/Documentation/locking/ |
H A D | locktypes.rst | 1 .. SPDX-License-Identifier: GPL-2.0 15 - Sleeping locks 16 - CPU local locks 17 - Spinning locks 27 -------------- 32 necessary to carefully evaluate the safety of unlock() as well as of 39 - mutex 40 - rt_mutex 41 - semaphore 42 - rw_semaphore [all …]
|
/linux/arch/x86/lib/ |
H A D | retpoline.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 #include <asm/asm-offsets.h> 10 #include <asm/nospec-branch.h> 64 #include <asm/GEN-for-each-reg.h> 71 #include <asm/GEN-for-each-reg.h> 93 #include <asm/GEN-for-each-reg.h> 100 #include <asm/GEN-for-each-reg.h> 119 #include <asm/GEN-for-each-reg.h> 126 #include <asm/GEN-for-each-reg.h> 136 * relocations for same-section JMPs and that breaks the returns [all …]
|
/linux/arch/sh/kernel/cpu/ |
H A D | init.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Copyright (C) 2002 - 2009 Paul Mundt 39 * Generic wrapper for command line arguments to disable on-chip 85 * Disable support for slottable sleep instruction, non-nop in expmask_init() 87 * the memory-mapped cache array. in expmask_init() 98 /* 2nd-level cache init */ 104 * Generic first-level cache init 115 * At this point we don't know whether the cache is enabled or not - a in cache_init() 120 * => before re-initialising the cache, we must do a purge of the whole in cache_init() 121 * cache out to memory for safety. As long as nothing is spilled in cache_init() [all …]
|