/linux-6.12.1/kernel/bpf/ |
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 …]
|
D | bpf_local_storage.c | 286 * read if the freeing of the storage is done in bpf_selem_unlink_storage_nolock() 290 * to the caller which then calls then frees the storage after in bpf_selem_unlink_storage_nolock() 453 struct bpf_local_storage *prev_storage, *storage; in bpf_local_storage_alloc() local 457 err = mem_charge(smap, owner, sizeof(*storage)); in bpf_local_storage_alloc() 463 storage = bpf_mem_cache_alloc_flags(&smap->storage_ma, gfp_flags); in bpf_local_storage_alloc() 466 storage = bpf_map_kzalloc(&smap->map, sizeof(*storage), in bpf_local_storage_alloc() 470 if (!storage) { in bpf_local_storage_alloc() 475 RCU_INIT_POINTER(storage->smap, smap); in bpf_local_storage_alloc() 476 INIT_HLIST_HEAD(&storage->list); in bpf_local_storage_alloc() 477 raw_spin_lock_init(&storage->lock); in bpf_local_storage_alloc() [all …]
|
/linux-6.12.1/tools/testing/selftests/bpf/progs/ |
D | local_storage.c | 66 struct local_storage *storage; in BPF_PROG() local 79 storage = bpf_task_storage_get(&task_storage_map, task, 0, 0); in BPF_PROG() 80 if (!storage) in BPF_PROG() 84 is_self_unlink = storage->exec_inode == victim->d_inode; in BPF_PROG() 86 storage = bpf_task_storage_get(&task_storage_map2, task, 0, in BPF_PROG() 88 if (!storage || storage->value) in BPF_PROG() 94 /* Ensure that the task_storage_map is disconnected from the storage. in BPF_PROG() 95 * The storage memory should not be freed back to the in BPF_PROG() 112 struct local_storage *storage; in BPF_PROG() local 122 storage = bpf_inode_storage_get(&inode_storage_map, old_dentry->d_inode, in BPF_PROG() [all …]
|
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 …]
|
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()
|
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()
|
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 …]
|
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 221 storage = bpf_sk_storage_get(&socket_storage_map, ctx->sk, 0, in _setsockopt() 223 if (!storage) in _setsockopt() 224 return 0; /* couldn't get sk storage */ in _setsockopt() 226 storage->val = optval[0]; in _setsockopt()
|
/linux-6.12.1/Documentation/bpf/ |
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 …]
|
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 …]
|
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-6.12.1/kernel/ |
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-6.12.1/drivers/platform/x86/intel/uncore-frequency/ |
D | uncore-frequency-common.h | 28 * @uncore_attr_group: Attribute group storage 29 * @max_freq_khz_kobj_attr: Storage for kobject attribute max_freq_khz 30 * @mix_freq_khz_kobj_attr: Storage for kobject attribute min_freq_khz 31 * @initial_max_freq_khz_kobj_attr: Storage for kobject attribute initial_max_freq_khz 32 * @initial_min_freq_khz_kobj_attr: Storage for kobject attribute initial_min_freq_khz 33 * @current_freq_khz_kobj_attr: Storage for kobject attribute current_freq_khz 34 * @domain_id_kobj_attr: Storage for kobject attribute domain_id 35 * @fabric_cluster_id_kobj_attr: Storage for kobject attribute fabric_cluster_id 36 * @package_id_kobj_attr: Storage for kobject attribute package_id 38 Storage for kobject attribute elc_low_threshold_percent [all …]
|
/linux-6.12.1/Documentation/usb/ |
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-6.12.1/drivers/usb/storage/ |
D | Kconfig | 3 # USB Storage driver configuration 10 tristate "USB Mass Storage support" 13 Say Y here if you want to connect USB mass storage devices to your 22 (BLK_DEV_SD) for most USB storage devices. 25 module will be called usb-storage. 30 bool "USB Mass Storage verbose debug" 32 Say Y here in order to have the USB Mass Storage code generate 73 - ISD SmartCable for Storage 82 tristate "USBAT/USBAT02-based storage support" 84 Say Y here to include additional code to support storage devices [all …]
|
D | unusual_devs.h | 3 * Driver for USB Mass Storage compliant devices 58 "SND1 Storage", 283 "USB Mass Storage Device", 301 * Generic Mass Storage (PROTOTYPE--Remember to change idVendor) 397 "875DC Storage", 406 "785EPX Storage", 608 "File-backed Storage Gadget", 731 "PEG Mass Storage", 738 "PEG Mass Storage", 745 "PEG Mass Storage", [all …]
|
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-6.12.1/arch/sparc/include/asm/ |
D | mmu_64.h | 93 /* ADI tags are stored when a page is swapped out and the storage for 94 * tags is allocated dynamically. There is a tag storage descriptor 95 * associated with each set of tag storage pages. Tag storage descriptors 97 * each tag storage descriptor, we can store up to 98 * PAGE_SIZE/sizeof(tag storage descriptor) descriptors on that page. 101 unsigned long start; /* Start address for this tag storage */ 102 unsigned long end; /* Last address for tag storage */
|
/linux-6.12.1/arch/powerpc/platforms/ps3/ |
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-6.12.1/arch/s390/include/asm/ |
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 */
|
D | qdio.h | 29 * @sliba: absolute address of storage list information block 30 * @sla: absolute address of storage list 31 * @slsba: absolute address of storage list state block 118 * struct slibe - storage list information block element (SLIBE) 134 * @sb_count: number of storage blocks 135 * @sba: storage block element addresses 136 * @dcount: size of storage block elements 158 * struct slib - storage list information block (SLIB) 216 * struct qdio_buffer - storage block address list (SBAL) 224 * struct sl_element - storage list entry [all …]
|
/linux-6.12.1/Documentation/admin-guide/device-mapper/ |
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
|
D | vdo.rst | 8 mapper target, it can add these features to the storage stack, compatible 10 corruption, relying instead on integrity protection of the storage below 56 <offset> <logical device size> vdo V4 <storage device> 57 <storage device size> <minimum I/O size> <block map cache size> 72 storage device: 75 storage device size: 121 storage. Threads of this type allow the vdo volume to 146 underlying storage device. At format time, a slab size for 147 the vdo is chosen; the vdo storage device must be large 186 underlying storage device. Additionally, when formatting the vdo device, a [all …]
|
/linux-6.12.1/tools/testing/selftests/kvm/s390x/ |
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-6.12.1/arch/sparc/kernel/ |
D | adi_64.c | 17 /* Each page of storage for ADI tags can accommodate tags for 128 19 * prudent to allocate at least enough tag storage space to accommodate 20 * SWAPFILE_CLUSTER number of pages. Allocate enough tag storage to 131 /* Check if this vma already has tag storage descriptor in find_tag_store() 171 /* Check if this vma already has tag storage descriptor in alloc_tag_store() 217 /* Check if we ran out of tag storage descriptors */ in alloc_tag_store() 227 /* Tag storage has not been allocated for this vma and space in alloc_tag_store() 228 * is available in tag storage descriptor. Since this page is in alloc_tag_store() 244 /* If overflow happens with the minimum tag storage in alloc_tag_store() 246 * tag storage. in alloc_tag_store() [all …]
|