| /linux/Documentation/userspace-api/ |
| H A D | iommufd.rst | 1 .. SPDX-License-Identifier: GPL-2.0+ 19 At minimum iommufd provides universal support of managing I/O address spaces and 20 I/O page tables for all IOMMUs, with room in the design to add non-generic 31 -------------------- 35 - IOMMUFD_OBJ_IOAS, representing an I/O address space (IOAS), allowing map/unmap 41 - IOMMUFD_OBJ_DEVICE, representing a device that is bound to iommufd by an 44 - IOMMUFD_OBJ_HWPT_PAGING, representing an actual hardware I/O page table 48 feature flag. This can be either an UNMANAGED stage-1 domain for a device 49 running in the user space, or a nesting parent stage-2 domain for mappings 50 from guest-level physical addresses to host-level physical addresses. [all …]
|
| /linux/Documentation/netlink/specs/ |
| H A D | net_shaper.yaml | 1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 2 --- 3 name: net-shaper 31 support for complex scheduling hierarchy, or for some shaping 33 @cap-get operation. 36 - 38 name: max-handle-id 41 - 45 render-max: true 47 - name: unspec [all …]
|
| /linux/include/linux/ |
| H A D | kcsan.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * data structures to set up runtime. See kcsan-checks.h for explicit checks and 5 * modifiers. For more info please see Documentation/dev-tools/kcsan.rst. 13 #include <linux/kcsan-checks.h> 20 * task_struct, and interrupts access internal per-CPU storage. 30 * track of nesting. Both (a) and (b) are entirely independent of each 32 * vice-versa. 41 * To support these cases, we independently track the depth of nesting 48 * Access mask for all accesses if non-zero. 58 * barriers; only keep 1 to keep fast-path complexity manageable. [all …]
|
| H A D | highmem-internal.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * Outside of CONFIG_HIGHMEM to support X86 32bit iomap_atomic() cruft. 17 DEBUG_LOCKS_WARN_ON(current->kmap_ctrl.idx); in kmap_assert_nomap() 261 * kunmap_atomic - Unmap the virtual address mapped by kmap_atomic() - deprecated! 264 * Unmaps an address previously mapped by kmap_atomic() and re-enables 265 * pagefaults. Depending on PREEMPT_RT configuration, re-enables also 269 * See kmap_local_page() for details on nesting [all...] |
| H A D | kcsan-checks.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 /* Access types -- if KCSAN_ACCESS_WRITE is not set, the access is a read. */ 18 #define KCSAN_ACCESS_COMPOUND (1 << 1) /* Compounded read-write instrumentation. */ 31 * __kcsan_check_access - check generic access for races 42 * memory orders to the LKMM memory orders and vice-versa! 50 * __kcsan_mb - full memory barrier instrumentation 55 * __kcsan_wmb - writ [all...] |
| H A D | highmem.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 #include "highmem-internal.h" 17 * kmap - Map a page for long term usage 40 * kunmap - Unmap the virtual address mapped by kmap() 49 * kmap_to_page - Get the page for a kmap'ed address 57 * kmap_flush_unused - Flush all unused kmap mappings in order to 63 * kmap_local_page - Map a page for temporary usage 70 * Requires careful handling when nesting multiple mappings because the map 99 * kmap_local_folio - Map a page in this folio for temporary usage 103 * Requires careful handling when nesting multiple mappings because the map [all …]
|
| H A D | uaccess.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 #include <linux/fault-inject-usercopy.h> 16 * Architectures that support memory tagging (assigning tags to memory regions, 21 * Passing down mm_struct allows to define untagging rules on per-process 24 * It's defined as noop for architectures that don't support memory tagging. 60 * already been checked (and succeeded); they should *not* zero-pad anything. 61 * No KASAN or object size checks either - thos [all...] |
| /linux/Documentation/virt/kvm/x86/ |
| H A D | running-nested-guests.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 can be KVM-based or a different hypervisor). The straightforward 12 .----------------. .----------------. 17 |----------------'--'----------------| 22 .------------------------------------------------------. 25 |------------------------------------------------------| 27 '------------------------------------------------------' 31 - L0 – level-0; the bare metal host, running KVM 33 - L1 – level-1 guest; a VM running on L0; also called the "guest 36 - L2 – level-2 guest; a VM running on L1, this is the "nested guest" [all …]
|
| /linux/Documentation/bpf/ |
| H A D | map_of_maps.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 9 - ``BPF_MAP_TYPE_ARRAY_OF_MAPS`` and ``BPF_MAP_TYPE_HASH_OF_MAPS`` were 13 purpose support for map in map storage. One level of nesting is supported, where 15 ``array_of_maps->sock_map``. 27 - Multi-level nesting is not supported. 28 - Any BPF map type can be used as an inner map, except for 30 - A BPF program cannot update or delete outer map entries. 32 For ``BPF_MAP_TYPE_ARRAY_OF_MAPS`` the key is an unsigned 32-bit integer index 38 the max_entries limit that you specify. Hash maps use pre-allocation of hash 40 pre-allocation when it is too memory expensive. [all …]
|
| /linux/tools/testing/selftests/drivers/net/ |
| H A D | shaper.py | 2 # SPDX-License-Identifier: GPL-2.0 13 def get_shapers(cfg, nl_shaper) -> None: 24 def get_caps(cfg, nl_shaper) -> None: 32 # Each device implementing shaper support must support some 36 def set_qshapers(cfg, nl_shaper) -> None: 44 if not 'support-bw-max' in caps or not 'support-metric-bps' in caps: 45 raise KsftSkipEx("device does not support queue scope shapers with bw_max and metric bps") 49 channels = netnl.channels_get({'header': {'dev-index': cfg.ifindex}}) 50 if channels['combined-count'] == 0: 52 cfg.nr_queues = channels['rx-count'] [all …]
|
| /linux/Documentation/networking/ |
| H A D | openvswitch.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 flow-level packet processing on selected network devices. It can be 10 VLAN processing, network access control, flow-based network control, 26 packets of the same type entirely in-kernel). 30 ---------------------- 36 might even be desirable, someday, to drop support for parsing 41 To support this forward and backward compatibility, whenever the 45 kernel-provided version: 47 - If userspace's notion of the flow key for the packet matches the 50 - If the kernel's flow key includes more fields than the userspace [all …]
|
| /linux/Documentation/userspace-api/netlink/ |
| H A D | genetlink-legacy.rst | 1 .. SPDX-License-Identifier: BSD-3-Clause 4 Netlink specification support for legacy Generic Netlink families 9 the ``genetlink-legacy`` protocol level. 15 ------- 29 -------------------- 31 New Netlink families should use ``multi-attr`` to define arrays. 35 For reference the ``multi-attr`` array may look like this:: 37 [ARRAY-ATTR] 41 [SOME-OTHER-ATTR] 42 [ARRAY-ATTR] [all …]
|
| /linux/kernel/locking/ |
| H A D | qspinlock.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P. 6 * (C) Copyright 2013-2014,2018 Red Hat, Inc. 8 * (C) Copyright 2015 Hewlett-Packard Enterprise Development LP 34 * The basic principle of a queue-base [all...] |
| /linux/fs/xfs/ |
| H A D | xfs_inode.h | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc. 105 return ip->i_prev_unlinked != 0; in xfs_inode_on_unlinked_list() 110 return ip->i_forkoff > 0; in xfs_inode_has_attr_fork() 120 return &ip->i_df; in xfs_ifork_ptr() 124 return &ip->i_af; in xfs_ifork_ptr() 126 return ip->i_cowfp; in xfs_ifork_ptr() 135 return ip->i_forkof in xfs_inode_fork_boff() [all...] |
| /linux/Documentation/RCU/Design/Data-Structures/ |
| H A D | Data-Structures.rst | 15 Data-Structure Relationships 25 .. kernel-figure:: BigTreeClassicRCU.svg 34 which results in a three-level ``rcu_node`` tree. 38 The purpose of this combining tree is to allow per-CPU events 39 such as quiescent states, dyntick-idle transitions, 42 Quiescent states are recorded by the per-CPU ``rcu_data`` structures, 43 and other events are recorded by the leaf-level ``rcu_node`` 54 As can be seen from the diagram, on a 64-bit system 55 a two-level tree with 64 leaves can accommodate 1,024 CPUs, with a fanout 58 +-----------------------------------------------------------------------+ [all …]
|
| /linux/drivers/acpi/acpica/ |
| H A D | dsinit.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: dsinit - Object initialization namespace walk 6 * Copyright (C) 2000 - 2026, Intel Corp. 29 * PARAMETERS: obj_handle - Node for the object 30 * level - Current nesting leve [all...] |
| H A D | utownerid.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: utownerid - Support for Table/Method Owner IDs 19 * PARAMETERS: owner_id - Where the new owner ID is returned 114 * If this error happens, there may be very deep nesting of invoked in acpi_ut_allocate_owner_id() 130 * PARAMETERS: owner_id_ptr - Pointer to a previously allocated owner_ID 136 * DESCRIPTION: Release a table or method owner ID. Valid IDs are 1 - 255 169 owner_id--; in acpi_ut_release_owner_id() 182 "Attempted release of non-allocated OwnerId: 0x%3.3X", in acpi_ut_release_owner_id()
|
| H A D | nsinit.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: nsinit - namespace initialization 6 * Copyright (C) 2000 - 2026, Intel Corp. 148 * This support is provided for Windows compatibility (Vista+) and in acpi_ns_initialize_devices() 151 info.evaluate_info->prefix_node = acpi_gbl_root_node; in acpi_ns_initialize_devices() 152 info.evaluate_info->relative_pathnam in acpi_ns_initialize_devices() [all...] |
| H A D | dscontrol.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: dscontrol - Support for execution control opcodes - 7 * Copyright (C) 2000 - 2026, Intel Corp. 25 * PARAMETERS: walk_list - Th [all...] |
| /linux/scripts/ |
| H A D | unifdef.c | 2 * Copyright (c) 2002 - 2011 Tony Finch <dot@dotat.at> 27 * unifdef - remove ifdef'ed lines 30 * It was rewritten to support ANSI C by Tony Finch. The original version 31 * of unifdef carried the 4-clause BSD copyright licence. None of its code 60 "@(#) $Version: unifdef-2.5 $\n" 99 IS_TRUE_PREFIX, /* first non-false #(el)if is true */ 100 IS_PASS_MIDDLE, /* first non-false #(el)if is unknown */ 122 STARTING_COMMENT, /* just after slash-backslash-newline */ 123 FINISHING_COMMENT, /* star-backslash-newline in a C comment */ 146 #define MAXDEPTH 64 /* maximum #if nesting */ [all …]
|
| /linux/net/bluetooth/ |
| H A D | l2cap_sock.c | 1 // SPDX-License-Identifier: GPL-2.0 3 BlueZ - Bluetooth protocol stack for Linux 4 Copyright (C) 2000-2001 Qualcomm Incorporated 5 Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org> 51 return sock && sock->ops == &l2cap_sock_ops; in l2cap_is_socket() 59 return -EINVAL; in l2cap_validate_bredr_psm() 61 /* Restrict usage of well-known PSMs */ in l2cap_validate_bredr_psm() 63 return -EACCE in l2cap_validate_bredr_psm() [all...] |
| /linux/arch/x86/include/asm/ |
| H A D | nospec-branch.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 #include <asm/msr-index.h> 77 #include <asm/asm-offsets.h> 80 movq $-1, PER_CPU_VAR(__x86_call_depth); 110 * This is required in various cases for retpoline and IBRS-based 118 * from C via asm(".include <asm/nospec-branch.h>") but let's not go there. 136 * Google experimented with loop-unrolling and this turned out to be 137 * the optimal version - two calls, each with their own speculation 168 * To mitigate Post-Barrier RSB speculation, one CALL instruction must be 171 * On PBRSB-vulnerable CPUs, it is not safe for a RET to be executed [all …]
|
| /linux/arch/x86/kernel/fpu/ |
| H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Pentium III FXSR, SSE support 50 * Track FPU initialization and kernel-mode usage. 'true' means the FPU is 63 if (WARN_ON_ONCE(task->flags & PF_KTHREAD)) in x86_task_fpu() 82 * - FPU is not yet initialized. This can happen only when the call is in irq_fpu_usable() 84 * - The kernel is already using the FPU, either because of explicit in irq_fpu_usable() 85 * nesting (whic in irq_fpu_usable() [all...] |
| /linux/arch/arm64/kernel/probes/ |
| H A D | kprobes.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Kprobes support for ARM64 28 #include <asm/debug-monitors.h> 31 #include <asm/text-patching.h> 37 #include "decode-insn.h" 61 kprobe_opcode_t *addr = p->ainsn.xol_insn; in arch_prepare_ss_slot() 67 * - That the I-cache maintenance for these instructions is complete in arch_prepare_ss_slot() 69 * ensures this, but just omits causing a Context-Synchronization-Event in arch_prepare_ss_slot() 72 * - That the kprobe BRK results in an exception (and consequently a in arch_prepare_ss_slot() 73 * Context-Synchronoization-Event), which ensures that the CPU will in arch_prepare_ss_slot() [all …]
|
| /linux/include/linux/fs/ |
| H A D | super_types.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 13 #include <linux/percpu-rwsem.h> 48 SB_FREEZE_COMPLETE = 4, /* ->freeze_fs finished successfully */ 51 #define SB_FREEZE_LEVELS (SB_FREEZE_COMPLETE - 1) 62 * enum freeze_holder - holder of the freeze 65 * @FREEZE_MAY_NEST: whether nesting freeze and thaw requests is allowed 118 * If a filesystem can support graceful removal of a device and 119 * continue read-writ [all...] |