/linux-6.8/Documentation/admin-guide/device-mapper/ |
D | snapshot.rst | 12 - To merge a snapshot of a block device back into the snapshot's origin 20 the origin device. 24 snapshot, snapshot-origin, and snapshot-merge. 26 - snapshot-origin <origin> 34 - snapshot <origin> <COW device> <persistent?> <chunksize> 37 A snapshot of the <origin> block device is created. Changed chunks of 40 from <origin> for unchanged data. <COW device> will often be 41 smaller than the origin and if it fills up the snapshot will become 55 snapshot-origin or snapshot-merge target must be suspended. A failure to 56 suspend the origin target could result in data corruption. [all …]
|
D | cache.rst | 39 The origin device always contains a copy of the logical block, which 52 1. An origin device - the big, slow one. 66 The origin is divided up into blocks of a fixed size. This block size 89 complete until it has hit both the origin and cache devices. Clean 93 to be coherent with the origin device, then all reads are served from 94 the origin device (all reads miss the cache) and all writes are 95 forwarded to the origin device; additionally, write hits cause cache 121 Migrating data between the origin and cache device uses bandwidth. 170 state for all of the origin device (compare with the dirty bitset 181 cache <metadata dev> <cache dev> <origin dev> <block size> [all …]
|
D | thin-provisioning.rst | 186 N.B. If the origin device that you wish to snapshot is active, you 197 identifier for the origin device. 202 between the origin and the snapshot. Indeed the snapshot is no 216 You can use an external **read only** device as an origin for a 218 thin device will be passed through to the origin. Writes trigger 225 You must not write to the origin device if you use this technique! 232 You don't mention the origin at this stage. 240 Append an extra parameter to the thin target specifying the origin:: 245 same extra origin parameter. 364 create_snap <dev id> <origin id> [all …]
|
/linux-6.8/mm/kmsan/ |
D | instrumentation.c | 47 /* Get shadow and origin pointers for a memory load with non-standard size. */ 57 /* Get shadow and origin pointers for a memory store with non-standard size. */ 68 * Declare functions that obtain shadow/origin pointers for loads and stores 134 * get_param0_metadata() and set_retval_metadata() to store the shadow/origin 139 depot_stack_handle_t *origin) in get_param0_metadata() argument 144 *origin = ctx->cstate.param_origin_tls[0]; in get_param0_metadata() 147 static inline void set_retval_metadata(u64 shadow, depot_stack_handle_t origin) in set_retval_metadata() argument 152 ctx->cstate.retval_origin_tls = origin; in set_retval_metadata() 159 depot_stack_handle_t origin; in __msan_memmove() local 163 get_param0_metadata(&shadow, &origin); in __msan_memmove() [all …]
|
D | init.c | 97 struct page *shadow, *origin; member 107 * time - as an origin block. On the third time the incoming block receives its 108 * shadow and origin ranges from the previously saved shadow and origin blocks, 116 struct page *shadow, *origin; in kmsan_memblock_free_pages() local 122 if (!held_back[order].origin) { in kmsan_memblock_free_pages() 123 held_back[order].origin = page; in kmsan_memblock_free_pages() 127 origin = held_back[order].origin; in kmsan_memblock_free_pages() 128 kmsan_setup_meta(page, shadow, origin, order); in kmsan_memblock_free_pages() 131 held_back[order].origin = NULL; in kmsan_memblock_free_pages() 168 struct page *page, *shadow, *origin; in do_collection() local [all …]
|
D | shadow.c | 102 ret.origin = kmsan_get_metadata(address, KMSAN_META_ORIGIN); in kmsan_get_shadow_origin_ptr() 109 ret.origin = dummy_store_page; in kmsan_get_shadow_origin_ptr() 113 ret.origin = dummy_load_page; in kmsan_get_shadow_origin_ptr() 119 * Obtain the shadow or origin pointer for the given address, or NULL if there's 175 struct page *shadow, *origin; in kmsan_alloc_page() local 183 origin = origin_page_for(page); in kmsan_alloc_page() 187 __memset(page_address(origin), 0, PAGE_SIZE * pages); in kmsan_alloc_page() 201 * to just fill the origin pages with @handle. in kmsan_alloc_page() 204 ((depot_stack_handle_t *)page_address(origin))[i] = handle; in kmsan_alloc_page() 280 void *shadow, *origin; in kmsan_init_alloc_meta_for_range() local [all …]
|
D | report.c | 84 void kmsan_print_origin(depot_stack_handle_t origin) in kmsan_print_origin() argument 94 if (!origin) in kmsan_print_origin() 98 nr_entries = stack_depot_fetch(origin, &entries); in kmsan_print_origin() 99 depth = kmsan_depth_from_eb(stack_depot_get_extra_bits(origin)); in kmsan_print_origin() 115 * Origin chains deeper than KMSAN_MAX_ORIGIN_DEPTH are in kmsan_print_origin() 121 origin = entries[2]; in kmsan_print_origin() 148 void kmsan_report(depot_stack_handle_t origin, void *address, int size, in kmsan_report() argument 162 if (!origin) in kmsan_report() 169 is_uaf = kmsan_uaf_from_eb(stack_depot_get_extra_bits(origin)); in kmsan_report() 194 kmsan_print_origin(origin); in kmsan_report()
|
D | core.c | 137 * origin value. in kmsan_internal_memmove_metadata() 173 * are copied around many times. Origin chains for such structures are in kmsan_internal_chain_origin() 196 u32 origin, bool checked) in kmsan_internal_set_shadow_origin() argument 208 * and origin pages are NULL, or all are non-NULL. in kmsan_internal_set_shadow_origin() 229 origin_start[i] = origin; in kmsan_internal_set_shadow_origin() 251 depot_stack_handle_t *origin = NULL; in kmsan_internal_check_memory() local 299 origin = kmsan_get_metadata((void *)(addr64 + pos + i), in kmsan_internal_check_memory() 301 KMSAN_WARN_ON(!origin); in kmsan_internal_check_memory() 302 new_origin = *origin; in kmsan_internal_check_memory() 304 * Encountered new origin - report the previous in kmsan_internal_check_memory() [all …]
|
D | hooks.c | 147 * This function creates new shadow/origin pages for the physical pages mapped 148 * into the virtual memory. If those physical pages already had shadow/origin, 156 struct page *shadow, *origin; in kmsan_ioremap_page_range() local 167 origin = alloc_pages(gfp_mask, 1); in kmsan_ioremap_page_range() 168 if (!shadow || !origin) { in kmsan_ioremap_page_range() 183 vmalloc_origin(start + off + PAGE_SIZE), prot, &origin, in kmsan_ioremap_page_range() 192 origin = NULL; in kmsan_ioremap_page_range() 200 * Something went wrong. Clean up shadow/origin pages allocated in kmsan_ioremap_page_range() 206 if (origin) in kmsan_ioremap_page_range() 207 __free_pages(origin, 1); in kmsan_ioremap_page_range() [all …]
|
D | kmsan.h | 64 void *shadow, *origin; member 78 void kmsan_print_origin(depot_stack_handle_t origin); 82 * @origin: Stack ID of the uninitialized value. 92 * sharing the same origin. If an uninitialized value is used in a comparison, 96 * @off_last corresponding to different @origin values. 98 void kmsan_report(depot_stack_handle_t origin, void *address, int size, 152 * Pack and unpack the origin chain depth and UAF flag to/from the extra bits 183 u32 origin, bool checked); 194 struct page *origin, int order);
|
/linux-6.8/Documentation/dev-tools/ |
D | kmsan.rst | 95 incorrect shadow/origin values, likely leading to false positives. Functions 160 Origin tracking 163 Every four bytes of kernel memory also have a so-called origin mapped to them. 164 This origin describes the point in program execution at which the uninitialized 165 value was created. Every origin is associated with either the full allocation 169 When an uninitialized variable is allocated on stack or heap, a new origin 170 value is created, and that variable's origin is filled with that value. When a 171 value is read from memory, its origin is also read and kept together with the 172 shadow. For every instruction that takes one or more values, the origin of the 174 If a poisoned value is written into memory, its origin is written to the [all …]
|
/linux-6.8/fs/overlayfs/ |
D | namei.c | 75 * A non-dir origin may be disconnected, which is fine, because in ovl_acceptable() 93 * Return -ENODATA for "origin unknown". 104 /* Treat larger version and unknown flags as "origin unknown" */ in ovl_check_fb_len() 108 /* Treat endianness mismatch as "origin unknown" */ in ovl_check_fb_len() 128 /* Zero size value means "copied up but origin unknown" */ in ovl_get_fh() 154 pr_warn_ratelimited("failed to get origin (%i)\n", res); in ovl_get_fh() 157 pr_warn_ratelimited("invalid origin (%*phN)\n", res, fh); in ovl_get_fh() 186 * Treat stale file handle to lower file as "origin unknown". in ovl_decode_real_fh() 424 struct dentry *origin = NULL; in ovl_check_origin_fh() local 436 origin = ovl_decode_real_fh(ofs, fh, ofs->layers[i].mnt, in ovl_check_origin_fh() [all …]
|
D | export.c | 94 * have the same uppermost lower layer as the origin's layer. We may need to 98 * Return the connected origin layer or < 0 on error. 115 /* Find the topmost origin layer connectable ancestor of @dentry */ in ovl_connect_layer() 125 * If @parent is not origin layer connectable, then copy up in ovl_connect_layer() 126 * @next which is origin layer connectable and we are done. in ovl_connect_layer() 152 * We only need to encode origin if there is a chance that the same object was 207 * Decoding a merge dir, whose origin's ancestor is under a redirected in ovl_check_encode_origin() 209 * ovl_connect_layer() will try to make origin's layer "connected" by in ovl_check_encode_origin() 439 * For decoded lower dir file handle, lookup index by origin to check in ovl_lookup_real_inode() 688 struct ovl_path origin = { }; in ovl_lower_fh_to_d() local [all …]
|
/linux-6.8/drivers/md/ |
D | dm-snap.c | 52 struct dm_dev *origin; member 57 /* List of snapshots per Origin */ 73 /* Origin writes don't trigger exceptions until this is set */ 128 * => use the origin; forget about the snapshot. 131 * (We can't use the intermediate origin state.) 174 return s->origin; in dm_snap_origin() 203 * Origin buffers waiting for this to complete are held 234 * Hash table mapping origin volumes to lists of snapshots and 312 * One of these per registered origin, held in the snapshot_origins hash 314 struct origin { struct [all …]
|
/linux-6.8/drivers/gpu/drm/i915/display/ |
D | intel_frontbuffer.h | 83 enum fb_op_origin origin, 89 * @origin: which operation caused the invalidation 98 enum fb_op_origin origin) in intel_frontbuffer_invalidate() argument 109 __intel_fb_invalidate(front, origin, frontbuffer_bits); in intel_frontbuffer_invalidate() 114 enum fb_op_origin origin, 120 * @origin: which operation caused the flush 126 enum fb_op_origin origin) in intel_frontbuffer_flush() argument 137 __intel_fb_flush(front, origin, frontbuffer_bits); in intel_frontbuffer_flush()
|
D | intel_frontbuffer.c | 73 * @origin: which operation caused the flush 83 enum fb_op_origin origin) in frontbuffer_flush() argument 93 trace_intel_frontbuffer_flush(i915, frontbuffer_bits, origin); in frontbuffer_flush() 97 intel_psr_flush(i915, frontbuffer_bits, origin); in frontbuffer_flush() 98 intel_fbc_flush(i915, frontbuffer_bits, origin); in frontbuffer_flush() 169 enum fb_op_origin origin, in __intel_fb_invalidate() argument 174 if (origin == ORIGIN_CS) { in __intel_fb_invalidate() 181 trace_intel_frontbuffer_invalidate(i915, frontbuffer_bits, origin); in __intel_fb_invalidate() 184 intel_psr_invalidate(i915, frontbuffer_bits, origin); in __intel_fb_invalidate() 186 intel_fbc_invalidate(i915, frontbuffer_bits, origin); in __intel_fb_invalidate() [all …]
|
D | intel_display_trace.h | 606 unsigned int frontbuffer_bits, unsigned int origin), 607 TP_ARGS(i915, frontbuffer_bits, origin), 612 __field(unsigned int, origin) 618 __entry->origin = origin; 621 TP_printk("dev %s, frontbuffer_bits=0x%08x, origin=%u", 622 __get_str(dev), __entry->frontbuffer_bits, __entry->origin) 627 unsigned int frontbuffer_bits, unsigned int origin), 628 TP_ARGS(i915, frontbuffer_bits, origin), 633 __field(unsigned int, origin) 639 __entry->origin = origin; [all …]
|
/linux-6.8/drivers/gpu/drm/i915/gem/ |
D | i915_gem_object_frontbuffer.h | 16 enum fb_op_origin origin); 18 enum fb_op_origin origin); 22 enum fb_op_origin origin) in i915_gem_object_flush_frontbuffer() argument 25 __i915_gem_object_flush_frontbuffer(obj, origin); in i915_gem_object_flush_frontbuffer() 30 enum fb_op_origin origin) in i915_gem_object_invalidate_frontbuffer() argument 33 __i915_gem_object_invalidate_frontbuffer(obj, origin); in i915_gem_object_invalidate_frontbuffer()
|
/linux-6.8/drivers/infiniband/hw/hns/ |
D | hns_roce_common.h | 42 #define roce_get_field(origin, mask, shift) \ argument 43 ((le32_to_cpu(origin) & (mask)) >> (u32)(shift)) 45 #define roce_get_bit(origin, shift) \ argument 46 roce_get_field((origin), (1ul << (shift)), (shift)) 48 #define roce_set_field(origin, mask, shift, val) \ argument 50 (origin) &= ~cpu_to_le32(mask); \ 51 (origin) |= \ 55 #define roce_set_bit(origin, shift, val) \ argument 56 roce_set_field((origin), (1ul << (shift)), (shift), (val))
|
/linux-6.8/fs/9p/ |
D | vfs_addr.c | 89 bool writing = (rreq->origin == NETFS_READ_FOR_WRITE || in v9fs_init_request() 90 rreq->origin == NETFS_WRITEBACK || in v9fs_init_request() 91 rreq->origin == NETFS_WRITETHROUGH || in v9fs_init_request() 92 rreq->origin == NETFS_LAUNDER_WRITE || in v9fs_init_request() 93 rreq->origin == NETFS_UNBUFFERED_WRITE || in v9fs_init_request() 94 rreq->origin == NETFS_DIO_WRITE); in v9fs_init_request() 110 WARN_ON(rreq->origin == NETFS_READ_FOR_WRITE && !(fid->mode & P9_ORDWR)); in v9fs_init_request()
|
/linux-6.8/fs/netfs/ |
D | objects.c | 17 enum netfs_io_origin origin) in netfs_alloc_request() argument 23 bool is_unbuffered = (origin == NETFS_UNBUFFERED_WRITE || in netfs_alloc_request() 24 origin == NETFS_DIO_READ || in netfs_alloc_request() 25 origin == NETFS_DIO_WRITE); in netfs_alloc_request() 37 rreq->origin = origin; in netfs_alloc_request()
|
/linux-6.8/security/loadpin/ |
D | loadpin.c | 27 static void report_load(const char *origin, struct file *file, char *operation) in report_load() argument 35 origin, operation, in report_load() 133 const char *origin = kernel_read_file_id_str(id); in loadpin_check() local 140 report_load(origin, file, "pinning-excluded"); in loadpin_check() 147 report_load(origin, NULL, "old-api-pinning-ignored"); in loadpin_check() 151 report_load(origin, NULL, "old-api-denied"); in loadpin_check() 174 report_load(origin, file, "pinned"); in loadpin_check() 180 report_load(origin, file, "pinning-ignored"); in loadpin_check() 184 report_load(origin, file, "denied"); in loadpin_check()
|
/linux-6.8/arch/s390/mm/ |
D | pgalloc.c | 293 static int base_page_walk(unsigned long *origin, unsigned long addr, in base_page_walk() argument 300 pte = origin; in base_page_walk() 309 static int base_segment_walk(unsigned long *origin, unsigned long addr, in base_segment_walk() argument 315 ste = origin; in base_segment_walk() 338 static int base_region3_walk(unsigned long *origin, unsigned long addr, in base_region3_walk() argument 344 rtte = origin; in base_region3_walk() 366 static int base_region2_walk(unsigned long *origin, unsigned long addr, in base_region2_walk() argument 372 rste = origin; in base_region2_walk() 394 static int base_region1_walk(unsigned long *origin, unsigned long addr, in base_region1_walk() argument 400 rfte = origin; in base_region1_walk()
|
/linux-6.8/drivers/net/ethernet/hisilicon/hns/ |
D | hns_dsaf_reg.h | 1043 #define dsaf_set_field(origin, mask, shift, val) \ argument 1045 (origin) &= (~(mask)); \ 1046 (origin) |= (((val) << (shift)) & (mask)); \ 1049 #define dsaf_set_bit(origin, shift, val) \ argument 1050 dsaf_set_field((origin), (1ull << (shift)), (shift), (val)) 1055 u32 origin = dsaf_read_reg(base, reg); in dsaf_set_reg_field() local 1057 dsaf_set_field(origin, mask, shift, val); in dsaf_set_reg_field() 1058 dsaf_write_reg(base, reg, origin); in dsaf_set_reg_field() 1067 #define dsaf_get_field(origin, mask, shift) (((origin) & (mask)) >> (shift)) argument 1069 #define dsaf_get_bit(origin, shift) \ argument [all …]
|
/linux-6.8/drivers/net/ethernet/hisilicon/ |
D | hns_mdio.c | 108 #define mdio_set_field(origin, mask, shift, val) \ argument 110 (origin) &= (~((mask) << (shift))); \ 111 (origin) |= (((val) & (mask)) << (shift)); \ 114 #define mdio_get_field(origin, mask, shift) (((origin) >> (shift)) & (mask)) argument 119 u32 origin = mdio_read_reg(base, reg); in mdio_set_reg_field() local 121 mdio_set_field(origin, mask, shift, val); in mdio_set_reg_field() 122 mdio_write_reg(base, reg, origin); in mdio_set_reg_field() 130 u32 origin; in mdio_get_reg_field() local 132 origin = mdio_read_reg(base, reg); in mdio_get_reg_field() 133 return mdio_get_field(origin, mask, shift); in mdio_get_reg_field()
|