| /linux/kernel/bpf/ |
| H A D | local_storage.c | 78 struct bpf_cgroup_storage *storage; in cgroup_storage_lookup() local 80 storage = container_of(node, struct bpf_cgroup_storage, node); in cgroup_storage_lookup() 82 switch (bpf_cgroup_storage_key_cmp(map, key, &storage->key)) { in cgroup_storage_lookup() 92 return storage; in cgroup_storage_lookup() 103 struct bpf_cgroup_storage *storage) in cgroup_storage_insert() argument 114 switch (bpf_cgroup_storage_key_cmp(map, &storage->key, &this->key)) { in cgroup_storage_insert() 126 rb_link_node(&storage->node, parent, new); in cgroup_storage_insert() 127 rb_insert_color(&storage->node, root); in cgroup_storage_insert() 135 struct bpf_cgroup_storage *storage; in cgroup_storage_lookup_elem() local 137 storage = cgroup_storage_lookup(map, key, false); in cgroup_storage_lookup_elem() [all …]
|
| H A D | bpf_local_storage.c | 297 * Unlink an selem from map and local storage with lock held. 346 * Unlink an selem from map and local storage with lockless fallback if callers 399 * Okay to skip clearing owner_storage and storage->owner in in bpf_selem_unlink_nofail() 417 * selem, no one will free the local storage. in bpf_selem_unlink_nofail() 480 struct bpf_local_storage *prev_storage, *storage; in bpf_local_storage_alloc() local 486 err = mem_charge(smap, owner, sizeof(*storage)); in bpf_local_storage_alloc() 490 storage = bpf_map_kmalloc_nolock(&smap->map, sizeof(*storage), in bpf_local_storage_alloc() 492 if (!storage) { in bpf_local_storage_alloc() 497 INIT_HLIST_HEAD(&storage->list); in bpf_local_storage_alloc() 498 raw_res_spin_lock_init(&storage->lock); in bpf_local_storage_alloc() [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | local_storage.c | 65 struct local_storage *storage; in BPF_PROG() 78 storage = bpf_task_storage_get(&task_storage_map, task, 0, 0); in BPF_PROG() 79 if (!storage) in BPF_PROG() 83 is_self_unlink = storage->exec_inode == victim->d_inode; in BPF_PROG() 85 storage = bpf_task_storage_get(&task_storage_map2, task, 0, in BPF_PROG() 87 if (!storage || storage->value) in BPF_PROG() 106 struct local_storage *storage; 116 storage = bpf_inode_storage_get(&inode_storage_map, old_dentry->d_inode, in BPF_PROG() 118 if (!storage) in BPF_PROG() 66 struct local_storage *storage; BPF_PROG() local 112 struct local_storage *storage; BPF_PROG() local 142 struct local_storage *storage; BPF_PROG() local 188 struct local_storage *storage; BPF_PROG() local 211 struct local_storage *storage; BPF_PROG() local [all...] |
| H A D | mptcp_sock.c | 31 struct mptcp_storage *storage; in _sockops() local 51 storage = bpf_sk_storage_get(&socket_storage_map, sk, 0, in _sockops() 53 if (!storage) in _sockops() 56 storage->token = 0; in _sockops() 57 __builtin_memset(storage->ca_name, 0, TCP_CA_NAME_MAX); in _sockops() 58 storage->first = NULL; in _sockops() 64 storage = bpf_sk_storage_get(&socket_storage_map, msk, 0, in _sockops() 66 if (!storage) in _sockops() 69 storage->token = msk->token; in _sockops() 70 __builtin_memcpy(storage->ca_name, msk->ca_name, TCP_CA_NAME_MAX); in _sockops() [all …]
|
| H A D | tcp_rtt.c | 28 struct tcp_rtt_storage *storage; in _sockops() local 37 storage = bpf_sk_storage_get(&socket_storage_map, sk, 0, in _sockops() 39 if (!storage) in _sockops() 54 storage->invoked++; in _sockops() 56 storage->dsack_dups = tcp_sk->dsack_dups; in _sockops() 57 storage->delivered = tcp_sk->delivered; in _sockops() 58 storage->delivered_ce = tcp_sk->delivered_ce; in _sockops() 59 storage->icsk_retransmits = tcp_sk->icsk_retransmits; in _sockops() 61 storage->mrtt_us = ctx->args[0]; in _sockops() 62 storage->srtt = ctx->args[1]; in _sockops()
|
| H A D | sockopt_inherit.c | 56 struct sockopt_inherit *storage; in _getsockopt() local 65 storage = get_storage(ctx); in _getsockopt() 66 if (!storage) in _getsockopt() 67 return 0; /* EPERM, couldn't get sk storage */ in _getsockopt() 71 optval[0] = storage->val; in _getsockopt() 87 struct sockopt_inherit *storage; in _setsockopt() local 96 storage = get_storage(ctx); in _setsockopt() 97 if (!storage) in _setsockopt() 98 return 0; /* EPERM, couldn't get sk storage */ in _setsockopt() 100 storage->val = optval[0]; in _setsockopt()
|
| H A D | verifier_cgroup_storage.c | 31 __description("valid cgroup storage access") 50 __description("invalid cgroup storage access 1") 70 __description("invalid cgroup storage access 2") 89 __description("invalid cgroup storage access 3") 109 __description("invalid cgroup storage access 4") 130 __description("invalid cgroup storage access 5") 150 __description("invalid cgroup storage access 6") 170 __description("valid per-cpu cgroup storage access") 189 __description("invalid per-cpu cgroup storage access 1") 209 __description("invalid per-cpu cgroup storage access 2") [all …]
|
| H A D | sockopt_sk.c | 34 struct sockopt_sk *storage; in _getsockopt() local 116 storage = bpf_sk_storage_get(&socket_storage_map, ctx->sk, 0, in _getsockopt() 118 if (!storage) in _getsockopt() 119 return 0; /* couldn't get sk storage */ in _getsockopt() 127 optval[0] = storage->val; in _getsockopt() 144 struct sockopt_sk *storage; in _setsockopt() local 235 storage = bpf_sk_storage_get(&socket_storage_map, ctx->sk, 0, in _setsockopt() 237 if (!storage) in _setsockopt() 238 return 0; /* couldn't get sk storage */ in _setsockopt() 240 storage->val = optval[0]; in _setsockopt()
|
| /linux/Documentation/bpf/ |
| H A D | map_sk_storage.rst | 11 ``BPF_MAP_TYPE_SK_STORAGE`` is used to provide socket-local storage for BPF 12 programs. A map of type ``BPF_MAP_TYPE_SK_STORAGE`` declares the type of storage 14 storage. The values for maps of type ``BPF_MAP_TYPE_SK_STORAGE`` are stored 16 allocating storage for a socket when requested and for freeing the storage when 22 socket-local storage. 37 Socket-local storage for ``map`` can be retrieved from socket ``sk`` using the 39 flag is used then ``bpf_sk_storage_get()`` will create the storage for ``sk`` 41 ``BPF_LOCAL_STORAGE_GET_F_CREATE`` to initialize the storage value, otherwise 42 it will be zero initialized. Returns a pointer to the storage on success, or 56 Socket-local storage for ``map`` can be deleted from socket ``sk`` using the [all …]
|
| H A D | map_cgroup_storage.rst | 9 storage. It is only available with ``CONFIG_CGROUP_BPF``, and to programs that 11 storage is identified by the cgroup the program is attached to. 13 The map provide a local storage at the cgroup that the BPF program is attached 38 map will share the same storage. Otherwise, if the type is 42 To access the storage in a program, use ``bpf_get_local_storage``:: 51 ``struct bpf_spin_lock`` to synchronize the storage. See 128 storage. The non-per-CPU will have the same memory region for each storage. 130 Prior to Linux 5.9, the lifetime of a storage is precisely per-attachment, and 133 multiple attach types, and each attach creates a fresh zeroed storage. The 134 storage is freed upon detach. [all …]
|
| H A D | map_cgrp_storage.rst | 9 storage for cgroups. It is only available with ``CONFIG_CGROUPS``. 21 To access the storage in a program, use ``bpf_cgrp_storage_get``:: 26 a new local storage will be created if one does not exist. 28 The local storage can be removed with ``bpf_cgrp_storage_delete``:: 81 The old cgroup storage map ``BPF_MAP_TYPE_CGROUP_STORAGE`` has been marked as 91 (2). ``BPF_MAP_TYPE_CGRP_STORAGE`` supports local storage for more than one 95 (3). ``BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED`` allocates local storage at attach time so 96 ``bpf_get_local_storage()`` always returns non-NULL local storage. 97 ``BPF_MAP_TYPE_CGRP_STORAGE`` allocates local storage at runtime so 98 it is possible that ``bpf_cgrp_storage_get()`` may return null local storage. [all …]
|
| /linux/kernel/ |
| H A D | stacktrace.c | 20 * @entries: Pointer to storage array 21 * @nr_entries: Number of entries in the storage array 41 * @entries: Pointer to storage array 42 * @nr_entries: Number of entries in the storage array 105 * stack_trace_save - Save a stack trace into a storage array 106 * @store: Pointer to storage array 107 * @size: Size of the storage array 128 * stack_trace_save_tsk - Save a task stack trace into a storage array 130 * @store: Pointer to storage array 131 * @size: Size of the storage array [all …]
|
| /linux/Documentation/usb/ |
| H A D | mass-storage.rst | 2 Mass Storage Gadget (MSG) 8 Mass Storage Gadget (or MSG) acts as a USB Mass Storage device, 10 multiple logical units (LUNs). Backing storage for each LUN is 27 relation to mass storage function (or MSF) and different gadgets 28 using it, and how it differs from File Storage Gadget (or FSG) 35 The mass storage gadget accepts the following mass storage specific 41 backing storage for each logical unit. There may be at most 45 *BEWARE* that if a file is used as a backing storage, it may not 75 true. This has been changed to better match File Storage Gadget 110 MS Windows mounts removable storage in “Removal optimised mode” by [all …]
|
| /linux/drivers/usb/storage/ |
| H A D | unusual_devs.h | 3 * Driver for USB Mass Storage compliant devices 58 "SND1 Storage", 290 "USB Mass Storage Device", 308 * Generic Mass Storage (PROTOTYPE--Remember to change idVendor) 411 "875DC Storage", 420 "785EPX Storage", 622 "File-backed Storage Gadget", 745 "PEG Mass Storage", 752 "PEG Mass Storage", 759 "PEG Mass Storage", [all …]
|
| H A D | Makefile | 3 # Makefile for the USB Mass Storage device drivers. 14 obj-$(CONFIG_USB_STORAGE) += usb-storage.o 16 usb-storage-y := scsiglue.o protocol.o transport.o usb.o 17 usb-storage-y += initializers.o sierra_ms.o option_ms.o 18 usb-storage-y += usual-tables.o 19 usb-storage-$(CONFIG_USB_STORAGE_DEBUG) += debug.o
|
| /linux/tools/perf/util/ |
| H A D | llvm.c | 105 struct symbol_lookup_storage *storage = disinfo; in symbol_lookup_callback() local 108 storage->branch_addr = value; in symbol_lookup_callback() 110 storage->pcrel_load_addr = value; in symbol_lookup_callback() 135 struct symbol_lookup_storage storage; in symbol__disassemble_llvm() local 152 disasm = LLVMCreateDisasm(triplet, &storage, /*tag_type=*/0, in symbol__disassemble_llvm() 163 features, &storage, in symbol__disassemble_llvm() 205 storage.branch_addr = 0; in symbol__disassemble_llvm() 206 storage.pcrel_load_addr = 0; in symbol__disassemble_llvm() 219 if (storage.branch_addr != 0) { in symbol__disassemble_llvm() 221 storage in symbol__disassemble_llvm() [all...] |
| /linux/rust/kernel/ |
| H A D | bitfield.rs | 42 //! // Convert to/from the backing storage type. 66 //! Signed integer storage types are not supported. 80 //! The macro generates the bitfield type, [`From`] and [`Into`] implementations for its storage 254 //! Bits of the storage type that are not part of any declared field are preserved by the setter 256 //! storage type. 280 //! Bitfield storage types are unsigned. Since field getter methods return a [`Bounded`] of the 281 //! storage type, fields are also unsigned by default. 295 $(#[$attr:meta])* $vis:vis struct $name:ident($storage:ty) { $($fields:tt)* } 299 $(#[$attr])* $vis $name $storage 301 $crate::bitfield!(@fields $vis $name $storage { $($fields)* }); [all …]
|
| /linux/include/linux/ |
| H A D | rseq_types.h | 19 * struct rseq_event - Storage for rseq related event management 111 * struct rseq_data - Storage for all rseq related data 115 * @event: Storage for event management 116 * @ids: Storage for cached CPU ID and MM CID 117 * @slice: Storage for time slice extension data 141 * struct sched_mm_cid - Storage for per task MM CID data 154 * struct mm_cid_pcpu - Storage for per CPU MM_CID data 163 * struct mm_mm_cid - Storage for per MM CID data 164 * @pcpu: Per CPU storage for CIDs associated to a CPU
|
| /linux/arch/powerpc/platforms/ps3/ |
| H A D | Kconfig | 116 tristate "PS3 Disk Storage Driver" 120 Include support for the PS3 Disk Storage. 126 tristate "PS3 BD/DVD/CD-ROM Storage Driver" 130 Include support for the PS3 ROM Storage. 137 tristate "PS3 FLASH ROM Storage Driver" 141 Include support for the PS3 FLASH ROM Storage. 152 tristate "PS3 Video RAM Storage Driver" 156 storage or system swap.
|
| /linux/tools/testing/selftests/kvm/s390/ |
| H A D | tprot.c | 95 * guest: set storage key of page_store_prot to 1 96 * storage key of page_fetch_prot to 9 and enable 101 /* access key 0 matches any storage key -> RW */ 103 /* access key matches storage key -> RW */ 107 /* access key 0 matches any storage key -> RW */ 109 /* access key matches storage key -> RW */ 117 * guest: set storage key of page 0 to 9 and enable fetch protection 127 * host: enable storage protection override 129 /* mismatched keys, but override applies (storage key 9) -> RW */ 133 /* mismatched keys, but override applies (storage key 9) -> RW */ [all …]
|
| /linux/drivers/iio/dac/ |
| H A D | ad5446.h | 15 #define _AD5446_CHANNEL(bits, storage, _shift, ext) { \ argument 25 .storagebits = (storage), \ 31 #define AD5446_CHANNEL(bits, storage, shift) \ argument 32 _AD5446_CHANNEL(bits, storage, shift, NULL) 34 #define AD5446_CHANNEL_POWERDOWN(bits, storage, shift) \ argument 35 _AD5446_CHANNEL(bits, storage, shift, ad5446_ext_info_powerdown)
|
| /linux/arch/s390/include/asm/ |
| H A D | nmi.h | 56 u64 se : 1; /* 16 storage error uncorrected */ 57 u64 sc : 1; /* 17 storage error corrected */ 58 u64 ke : 1; /* 18 storage-key error uncorrected */ 59 u64 ds : 1; /* 19 storage degradation */ 64 u64 fa : 1; /* 24 failing storage address validity */ 71 u64 st : 1; /* 31 storage logical validity */ 72 u64 ie : 1; /* 32 indirect storage error */ 76 u64 gs : 1; /* 36 guarded storage registers validity */
|
| /linux/Documentation/admin-guide/device-mapper/ |
| H A D | switch.rst | 18 Dell EqualLogic and some other iSCSI storage arrays use a distributed 19 frameless architecture. In this architecture, the storage group 20 consists of a number of distinct storage arrays ("members") each having 21 independent controllers, disk storage and network adapters. When a LUN 23 spreading are hidden from initiators connected to this storage system. 24 The storage group exposes a single target discovery portal, no matter 29 forwarding is invisible to the initiator. The storage layout is also 34 the storage group and initiators. In a multipathing configuration, it 38 robin algorithm to send I/O across all paths and let the storage array
|
| /linux/arch/x86/include/asm/ |
| H A D | cpu_device_id.h | 64 * @_data: Driver specific data or NULL. The internal storage 91 * @data: Driver specific data or NULL. The internal storage 104 * @data: Driver specific data or NULL. The internal storage 115 * @data: Driver specific data or NULL. The internal storage 129 * @data: Driver specific data or NULL. The internal storage 142 * @data: Driver specific data or NULL. The internal storage 153 * @data: Driver specific data or NULL. The internal storage 168 * @data: Driver specific data or NULL. The internal storage 181 * @data: Driver specific data or NULL. The internal storage 193 * @data: Driver specific data or NULL. The internal storage
|
| /linux/kernel/sched/ext/ |
| H A D | types.h | 135 * Number of u64 words of bits[] storage that covers @nr_cids regardless of base 145 * __SCX_CMASK_DEFINE - Define an on-stack cmask with explicit storage capacity 149 * @ALLOC_CIDS: storage capacity in cids, at least @NR_CIDS 151 * @NAME aliases zero-initialized storage with the active range set to 162 * SCX_CMASK_DEFINE - Define an on-stack cmask on tight storage 165 * @NR_CIDS: active range length, also storage capacity 167 * @NAME aliases zero-initialized storage with the active range and storage 179 * Storage is fixed at SCX_CID_SHARD_MAX_CPUS, active range framed by 181 * cmask claiming more bits than storage holds and subsequent cmask
|