/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() 185 return page_address(&folio->page) + offset; in kmap_local_folio() 248 * kunmap_atomic - Unmap the virtual address mapped by kmap_atomic() - deprecated! 251 * Unmaps an address previously mapped by kmap_atomic() and re-enables 252 * pagefaults. Depending on PREEMP_RT configuration, re-enables also 256 * See kmap_local_page() for details on nesting. 270 * kunmap_local - Unmap a page mapped via kmap_local_page().
|
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 - write memory barrier instrumentation 60 * __kcsan_rmb - read memory barrier instrumentation 65 * __kcsan_release - release barrier instrumentation 70 * kcsan_disable_current - disable KCSAN for the current context [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 …]
|
/linux/kernel/ |
H A D | context_tracking.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 * Many thanks to Gilad Ben-Yossef, Paul McKenney, Ingo Molnar, Andrew Morton, 31 .nesting = 1, 41 /* Record the current task on exiting RCU-tasks (dyntick-idle entry). */ 45 WRITE_ONCE(current->rcu_tasks_idle_cpu, smp_processor_id()); in rcu_task_exit() 49 /* Record no current task on entering RCU-tasks (dyntick-idle exit). */ 53 WRITE_ONCE(current->rcu_tasks_idle_cpu, -1); in rcu_task_enter() 62 current->trc_reader_special.b.need_mb = true; in rcu_task_trace_heavyweight_enter() 71 current->trc_reader_special.b.need_mb = false; in rcu_task_trace_heavyweight_exit() 86 * CPUs seeing atomic_add_return() must see prior RCU read-side in ct_kernel_exit_state() [all …]
|
/linux/include/uapi/linux/ |
H A D | iommufd.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 /* Copyright (c) 2021-2022, NVIDIA CORPORATION & AFFILIATES. 23 * - ENOTTY: The IOCTL number itself is not supported at all 24 * - E2BIG: The IOCTL number is supported, but the provided structure has 25 * non-zero in a part the kernel does not understand. 26 * - EOPNOTSUP [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/Documentation/userspace-api/netlink/ |
H A D | netlink-raw.rst | 1 .. SPDX-License-Identifier: BSD-3-Clause 4 Netlink specification support for raw Netlink families 8 families such as ``NETLINK_ROUTE`` which use the ``netlink-raw`` protocol 14 The netlink-raw schema extends the :doc:`genetlink-legacy <genetlink-legacy>` 17 information. The raw netlink families also make use of type-specific 18 sub-messages. 21 ------- 29 .. code-block:: yaml 31 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 33 name: rt-addr [all …]
|
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/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/locking/ |
H A D | locktypes.rst | 1 .. SPDX-License-Identifier: GPL-2.0 15 - Sleeping locks 16 - CPU local locks 17 - Spinning locks 20 for their nesting, including the rules for use under PREEMPT_RT. 27 -------------- 39 - mutex 40 - rt_mutex 41 - semaphore 42 - rw_semaphore [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 33 * The basic principle of a queue-based spinlock can best be understood 34 * by studying a classic queue-based spinlock implementation called the 36 * Synchronization on Shared-Memory Multiprocessors by Mellor-Crummey and 47 * unlock the next pending (next->locked), we compress both these: {tail, 48 * next->locked} into a single u32 value. 52 * are at most 4 nesting levels, it can be encoded by a 2-bit number. Now [all …]
|
/linux/Documentation/networking/devlink/ |
H A D | devlink-health.rst | 1 .. SPDX-License-Identifier: GPL-2.0 15 * If problem needs vendor support, provide a way to gather all needed 49 auto-dump is set and there is no other dump which is already stored) 52 - Auto-recovery configuration 53 - Grace period vs. time passed since last recover 63 json-like format. The API allows the driver to add nested attributes such as 71 attributes, to avoid actual nesting use which cannot be divided between 85 .. list-table:: List of devlink health interfaces 88 * - Name 89 - Description [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/kernel/rcu/ |
H A D | tasks.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * Task-based RCU implementations. 24 * struct rcu_tasks_percpu - Per-CPU component of definition for a Tasks-RCU-like mechanism. 26 * @lock: Lock protecting per-CPU callback list. 29 * @urgent_gp: Number of additional non-lazy grace periods. 30 * @rtp_n_lock_retries: Rough lock-contention statistic. 58 * struct rcu_tasks - Definition for a Tasks-RCU-like mechanism. 61 * @tasks_gp_mutex: Mutex protecting grace period, needed during mid-boot dead zone. 62 * @gp_func: This flavor's grace-period-wait function. 64 * @gp_sleep: Per-grace-period sleep to prevent CPU-bound looping. [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. 111 return ip->i_prev_unlinked != 0; in xfs_inode_on_unlinked_list() 116 return ip->i_forkoff > 0; in xfs_inode_has_attr_fork() 126 return &ip->i_df; in xfs_ifork_ptr() 130 return &ip->i_af; in xfs_ifork_ptr() 132 return ip->i_cowfp; in xfs_ifork_ptr() 141 return ip->i_forkoff << 3; in xfs_inode_fork_boff() 149 return XFS_LITINO(ip->i_mount); in xfs_inode_data_fork_size() 155 return XFS_LITINO(ip->i_mount) - xfs_inode_fork_boff(ip); in xfs_inode_attr_fork_size() [all …]
|
/linux/arch/powerpc/include/asm/book3s/64/ |
H A D | kup.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 102 * save AMR -> stack; 105 * KUAP_BLOCKED -> AMR; 108 * save IAMR -> stack; 110 * KUEP_BLOCKED ->IAMR 118 * save AMR -> stack; 120 * KUAP_BLOCKED -> AMR; 212 * thread-specific and we inherit the address space and not thread 218 if (current->thread.regs) in current_thread_amr() 219 return current->thread.regs->amr; in current_thread_amr() [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 - 2023, Intel Corp. 29 * PARAMETERS: obj_handle - Node for the object 30 * level - Current nesting level 31 * context - Points to a init info struct 32 * return_value - Not used 62 if (node->owner_id != info->owner_id) { in acpi_ds_init_one_object() 66 info->object_count++; in acpi_ds_init_one_object() 81 info->op_region_count++; in acpi_ds_init_one_object() [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 - 2023, 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_pathname = METHOD_NAME__INI; in acpi_ns_initialize_devices() 153 info.evaluate_info->parameters = NULL; in acpi_ns_initialize_devices() 154 info.evaluate_info->flags = ACPI_IGNORE_RETURN_VALUE; in acpi_ns_initialize_devices() 170 info.evaluate_info->prefix_node = handle; in acpi_ns_initialize_devices() 171 info.evaluate_info->relative_pathname = 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 - 2023, Intel Corp. 25 * PARAMETERS: walk_list - The list that owns the walk stack 26 * op - The control Op 44 op, op->common.aml_opcode, walk_state)); in acpi_ds_exec_begin_control_op() 46 switch (op->common.aml_opcode) { in acpi_ds_exec_begin_control_op() 52 if (walk_state->control_state) { in acpi_ds_exec_begin_control_op() 53 if (walk_state->control_state->control. in acpi_ds_exec_begin_control_op() 55 (walk_state->parser_state.aml - 1)) { in acpi_ds_exec_begin_control_op() [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/kernel/entry/ |
H A D | common.c | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <linux/entry-common.h> 40 return -1L; in syscall_trace_enter() 47 return -1L; in syscall_trace_enter() 53 if (ret == -1L) in syscall_trace_enter() 86 * exit_to_user_mode_loop - do any pending work before leaving to user space 160 if (unlikely(current->syscall_dispatch.on_dispatch)) { in syscall_exit_work() 161 current->syscall_dispatch.on_dispatch = false; in syscall_exit_work() 182 unsigned long work = READ_ONCE(current_thread_info()->syscall_work); in syscall_exit_to_user_mode_prepare() 195 * Do one-time syscall specific work. If these work items are in syscall_exit_to_user_mode_prepare() [all …]
|
/linux/net/bluetooth/ |
H A D | l2cap_sock.c | 2 BlueZ - Bluetooth protocol stack for Linux 3 Copyright (C) 2000-2001 Qualcomm Incorporated 4 Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org> 53 return sock && sock->ops == &l2cap_sock_ops; in l2cap_is_socket() 61 return -EINVAL; in l2cap_validate_bredr_psm() 63 /* Restrict usage of well-known PSMs */ in l2cap_validate_bredr_psm() 65 return -EACCES; in l2cap_validate_bredr_psm() 74 return -EINVAL; in l2cap_validate_le_psm() 78 return -EACCES; in l2cap_validate_le_psm() 85 struct sock *sk = sock->sk; in l2cap_sock_bind() [all …]
|