Home
last modified time | relevance | path

Searched refs:shadow (Results 1 - 25 of 202) sorted by relevance

123456789

/kernel/linux/linux-5.10/kernel/livepatch/
H A Dshadow.c3 * shadow.c - Shadow Variables
13 * The shadow variable API provides a simple relationship between an
15 * caller to provide any mutual exclusion required of the shadow data.
17 * Once a shadow variable is attached to its parent object via the
19 * call to klp_shadow_get() may then return the shadow variable's data
20 * pointer. Callers of klp_shadow_*alloc() should prepare shadow data
23 * The klp_shadow_*alloc() API calls may allocate memory for new shadow
42 * the shadow variables it references.
47 * struct klp_shadow - shadow variable structure
63 * klp_shadow_match() - verify a shadow variabl
70 klp_shadow_match(struct klp_shadow *shadow, void *obj, unsigned long id) klp_shadow_match() argument
85 struct klp_shadow *shadow; klp_shadow_get() local
234 klp_shadow_free_struct(struct klp_shadow *shadow, klp_shadow_dtor_t dtor) klp_shadow_free_struct() argument
255 struct klp_shadow *shadow; klp_shadow_free() local
285 struct klp_shadow *shadow; klp_shadow_free_all() local
[all...]
/kernel/linux/linux-6.6/kernel/livepatch/
H A Dshadow.c3 * shadow.c - Shadow Variables
13 * The shadow variable API provides a simple relationship between an
15 * caller to provide any mutual exclusion required of the shadow data.
17 * Once a shadow variable is attached to its parent object via the
19 * call to klp_shadow_get() may then return the shadow variable's data
20 * pointer. Callers of klp_shadow_*alloc() should prepare shadow data
23 * The klp_shadow_*alloc() API calls may allocate memory for new shadow
42 * the shadow variables it references.
47 * struct klp_shadow - shadow variable structure
63 * klp_shadow_match() - verify a shadow variabl
70 klp_shadow_match(struct klp_shadow *shadow, void *obj, unsigned long id) klp_shadow_match() argument
85 struct klp_shadow *shadow; klp_shadow_get() local
234 klp_shadow_free_struct(struct klp_shadow *shadow, klp_shadow_dtor_t dtor) klp_shadow_free_struct() argument
255 struct klp_shadow *shadow; klp_shadow_free() local
285 struct klp_shadow *shadow; klp_shadow_free_all() local
[all...]
/kernel/linux/linux-6.6/drivers/scsi/
H A Dxen-scsifront.c121 struct vscsifrnt_shadow *shadow[VSCSIIF_MAX_REQS]; member
163 info->shadow[id] = NULL; in _scsifront_put_rqid()
182 struct vscsifrnt_shadow *shadow) in scsifront_do_request()
186 struct scsi_cmnd *sc = shadow->sc; in scsifront_do_request()
197 info->shadow[id] = shadow; in scsifront_do_request()
198 shadow->rqid = id; in scsifront_do_request()
204 ring_req->act = shadow->act; in scsifront_do_request()
205 ring_req->ref_rqid = shadow->ref_rqid; in scsifront_do_request()
206 ring_req->nr_segments = shadow in scsifront_do_request()
181 scsifront_do_request(struct vscsifrnt_info *info, struct vscsifrnt_shadow *shadow) scsifront_do_request() argument
239 scsifront_gnttab_done(struct vscsifrnt_info *info, struct vscsifrnt_shadow *shadow) scsifront_gnttab_done() argument
302 struct vscsifrnt_shadow *shadow; scsifront_cdb_cmd_done() local
336 struct vscsifrnt_shadow *shadow = info->shadow[id]; scsifront_sync_cmd_done() local
367 struct vscsifrnt_shadow *shadow; scsifront_do_response() local
470 map_data_for_request(struct vscsifrnt_info *info, struct scsi_cmnd *sc, struct vscsifrnt_shadow *shadow) map_data_for_request() argument
610 struct vscsifrnt_shadow *shadow = scsi_cmd_priv(sc); scsifront_queuecommand() local
666 struct vscsifrnt_shadow *shadow, *s = scsi_cmd_priv(sc); scsifront_action_handler() local
[all...]
/kernel/linux/linux-5.10/drivers/scsi/
H A Dxen-scsifront.c118 struct vscsifrnt_shadow *shadow[VSCSIIF_MAX_REQS]; member
160 info->shadow[id] = NULL; in _scsifront_put_rqid()
179 struct vscsifrnt_shadow *shadow) in scsifront_do_request()
183 struct scsi_cmnd *sc = shadow->sc; in scsifront_do_request()
194 info->shadow[id] = shadow; in scsifront_do_request()
195 shadow->rqid = id; in scsifront_do_request()
201 ring_req->act = shadow->act; in scsifront_do_request()
202 ring_req->ref_rqid = shadow->ref_rqid; in scsifront_do_request()
203 ring_req->nr_segments = shadow in scsifront_do_request()
178 scsifront_do_request(struct vscsifrnt_info *info, struct vscsifrnt_shadow *shadow) scsifront_do_request() argument
227 scsifront_gnttab_done(struct vscsifrnt_info *info, struct vscsifrnt_shadow *shadow) scsifront_gnttab_done() argument
249 struct vscsifrnt_shadow *shadow; scsifront_cdb_cmd_done() local
280 struct vscsifrnt_shadow *shadow = info->shadow[id]; scsifront_sync_cmd_done() local
391 map_data_for_request(struct vscsifrnt_info *info, struct scsi_cmnd *sc, struct vscsifrnt_shadow *shadow) map_data_for_request() argument
531 struct vscsifrnt_shadow *shadow = scsi_cmd_priv(sc); scsifront_queuecommand() local
584 struct vscsifrnt_shadow *shadow, *s = scsi_cmd_priv(sc); scsifront_action_handler() local
[all...]
/kernel/linux/linux-6.6/mm/kmsan/
H A Dinit.c67 * Initialize the shadow for existing mappings during kernel initialization.
83 /* Allocate shadow for .data */ in kmsan_init_shadow()
97 struct page *shadow, *origin; member
106 * time with a certain order, it is reserved as a shadow block, for the second
108 * shadow and origin ranges from the previously saved shadow and origin blocks,
116 struct page *shadow, *origin; in kmsan_memblock_free_pages() local
118 if (!held_back[order].shadow) { in kmsan_memblock_free_pages()
119 held_back[order].shadow = page; in kmsan_memblock_free_pages()
126 shadow in kmsan_memblock_free_pages()
168 struct page *page, *shadow, *origin; do_collection() local
[all...]
H A Dshadow.c3 * KMSAN shadow implementation.
85 void *shadow; in kmsan_get_shadow_origin_ptr() local
97 shadow = kmsan_get_metadata(address, KMSAN_META_SHADOW); in kmsan_get_shadow_origin_ptr()
98 if (!shadow) in kmsan_get_shadow_origin_ptr()
101 ret.shadow = shadow; in kmsan_get_shadow_origin_ptr()
108 ret.shadow = dummy_store_page; in kmsan_get_shadow_origin_ptr()
112 ret.shadow = 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, *origi in kmsan_alloc_page() local
280 void *shadow, *origin; kmsan_init_alloc_meta_for_range() local
299 kmsan_setup_meta(struct page *page, struct page *shadow, struct page *origin, int order) kmsan_setup_meta() argument
[all...]
H A Dinstrumentation.c47 /* 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
138 static inline void get_param0_metadata(u64 *shadow, in get_param0_metadata() argument
143 *shadow = *(u64 *)(ctx->cstate.param_tls); in get_param0_metadata()
147 static inline void set_retval_metadata(u64 shadow, depot_stack_handle_t origin) in set_retval_metadata() argument
151 *(u64 *)(ctx->cstate.retval_tls) = shadow; in set_retval_metadata()
161 u64 shadow; in __msan_memmove() local
163 get_param0_metadata(&shadow, in __msan_memmove()
186 u64 shadow; __msan_memcpy() local
213 u64 shadow; __msan_memset() local
[all...]
H A Dcore.c90 u32 *align_shadow_src, shadow; in kmsan_internal_memmove_metadata() local
101 * @src is untracked: zero out destination shadow, ignore the in kmsan_internal_memmove_metadata()
132 shadow = align_shadow_src[i]; in kmsan_internal_memmove_metadata()
137 * of the first shadow slot. in kmsan_internal_memmove_metadata()
140 shadow = (shadow >> skip_bits) << skip_bits; in kmsan_internal_memmove_metadata()
147 * last shadow slot. in kmsan_internal_memmove_metadata()
150 shadow = (shadow << skip_bits) >> skip_bits; in kmsan_internal_memmove_metadata()
154 * shadow i in kmsan_internal_memmove_metadata()
318 unsigned char *shadow = NULL; kmsan_internal_check_memory() local
[all...]
H A Dhooks.c147 * 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
166 shadow = alloc_pages(gfp_mask, 1); in kmsan_ioremap_page_range()
168 if (!shadow || !origin) { in kmsan_ioremap_page_range()
174 vmalloc_shadow(start + off + PAGE_SIZE), prot, &shadow, in kmsan_ioremap_page_range()
180 shadow = NULL; in kmsan_ioremap_page_range()
200 * Something went wrong. Clean up shadow/origin pages allocated in kmsan_ioremap_page_range()
204 if (shadow) in kmsan_ioremap_page_range()
205 __free_pages(shadow, in kmsan_ioremap_page_range()
224 struct page *shadow, *origin; kmsan_iounmap_page_range() local
[all...]
/kernel/linux/linux-5.10/include/linux/
H A Dscx200_gpio.h13 #define __SCx200_GPIO_SHADOW unsigned long *shadow = scx200_gpio_shadow+bank
16 #define __SCx200_GPIO_OUT __asm__ __volatile__("outsl":"=mS" (shadow):"d" (ioaddr), "0" (shadow))
46 set_bit(index, shadow); /* __set_bit()? */ in scx200_gpio_set_high()
57 clear_bit(index, shadow); /* __clear_bit()? */ in scx200_gpio_set_low()
69 set_bit(index, shadow); in scx200_gpio_set()
71 clear_bit(index, shadow); in scx200_gpio_set()
81 change_bit(index, shadow); in scx200_gpio_change()
/kernel/linux/linux-6.6/include/linux/
H A Dscx200_gpio.h13 #define __SCx200_GPIO_SHADOW unsigned long *shadow = scx200_gpio_shadow+bank
16 #define __SCx200_GPIO_OUT __asm__ __volatile__("outsl":"=mS" (shadow):"d" (ioaddr), "0" (shadow))
46 set_bit(index, shadow); /* __set_bit()? */ in scx200_gpio_set_high()
57 clear_bit(index, shadow); /* __clear_bit()? */ in scx200_gpio_set_low()
69 set_bit(index, shadow); in scx200_gpio_set()
71 clear_bit(index, shadow); in scx200_gpio_set()
81 change_bit(index, shadow); in scx200_gpio_change()
/kernel/linux/linux-5.10/fs/nilfs2/
H A Dmdt.c472 struct nilfs_shadow_map *shadow = mdi->mi_shadow; in nilfs_mdt_clear() local
477 if (shadow) { in nilfs_mdt_clear()
478 struct inode *s_inode = shadow->inode; in nilfs_mdt_clear()
480 shadow->inode = NULL; in nilfs_mdt_clear()
509 * nilfs_mdt_setup_shadow_map - setup shadow map and bind it to metadata file
511 * @shadow: shadow mapping
514 struct nilfs_shadow_map *shadow) in nilfs_mdt_setup_shadow_map()
519 INIT_LIST_HEAD(&shadow->frozen_buffers); in nilfs_mdt_setup_shadow_map()
525 shadow in nilfs_mdt_setup_shadow_map()
513 nilfs_mdt_setup_shadow_map(struct inode *inode, struct nilfs_shadow_map *shadow) nilfs_mdt_setup_shadow_map() argument
538 struct nilfs_shadow_map *shadow = mi->mi_shadow; nilfs_mdt_save_to_shadow_map() local
558 struct nilfs_shadow_map *shadow = NILFS_MDT(inode)->mi_shadow; nilfs_mdt_freeze_buffer() local
590 struct nilfs_shadow_map *shadow = NILFS_MDT(inode)->mi_shadow; nilfs_mdt_get_frozen_buffer() local
607 nilfs_release_frozen_buffers(struct nilfs_shadow_map *shadow) nilfs_release_frozen_buffers() argument
628 struct nilfs_shadow_map *shadow = mi->mi_shadow; nilfs_mdt_restore_from_shadow_map() local
654 struct nilfs_shadow_map *shadow = mi->mi_shadow; nilfs_mdt_clear_shadow_map() local
[all...]
/kernel/linux/linux-6.6/fs/nilfs2/
H A Dmdt.c475 struct nilfs_shadow_map *shadow = mdi->mi_shadow; in nilfs_mdt_clear() local
480 if (shadow) { in nilfs_mdt_clear()
481 struct inode *s_inode = shadow->inode; in nilfs_mdt_clear()
483 shadow->inode = NULL; in nilfs_mdt_clear()
512 * nilfs_mdt_setup_shadow_map - setup shadow map and bind it to metadata file
514 * @shadow: shadow mapping
517 struct nilfs_shadow_map *shadow) in nilfs_mdt_setup_shadow_map()
522 INIT_LIST_HEAD(&shadow->frozen_buffers); in nilfs_mdt_setup_shadow_map()
528 shadow in nilfs_mdt_setup_shadow_map()
516 nilfs_mdt_setup_shadow_map(struct inode *inode, struct nilfs_shadow_map *shadow) nilfs_mdt_setup_shadow_map() argument
541 struct nilfs_shadow_map *shadow = mi->mi_shadow; nilfs_mdt_save_to_shadow_map() local
561 struct nilfs_shadow_map *shadow = NILFS_MDT(inode)->mi_shadow; nilfs_mdt_freeze_buffer() local
593 struct nilfs_shadow_map *shadow = NILFS_MDT(inode)->mi_shadow; nilfs_mdt_get_frozen_buffer() local
610 nilfs_release_frozen_buffers(struct nilfs_shadow_map *shadow) nilfs_release_frozen_buffers() argument
631 struct nilfs_shadow_map *shadow = mi->mi_shadow; nilfs_mdt_restore_from_shadow_map() local
657 struct nilfs_shadow_map *shadow = mi->mi_shadow; nilfs_mdt_clear_shadow_map() local
[all...]
/kernel/linux/linux-5.10/drivers/gpio/
H A Dgpio-janz-ttl.c60 u8 *shadow; in ttl_get_value() local
64 shadow = &mod->porta_shadow; in ttl_get_value()
66 shadow = &mod->portb_shadow; in ttl_get_value()
69 shadow = &mod->portc_shadow; in ttl_get_value()
74 ret = *shadow & BIT(offset); in ttl_get_value()
83 u8 *shadow; in ttl_set_value() local
87 shadow = &mod->porta_shadow; in ttl_set_value()
90 shadow = &mod->portb_shadow; in ttl_set_value()
94 shadow = &mod->portc_shadow; in ttl_set_value()
100 *shadow | in ttl_set_value()
[all...]
H A Dgpio-mm-lantiq.c31 u16 shadow; /* shadow the latches state */ member
35 * ltq_mm_apply() - write the shadow value to the ebu address.
38 * Write the shadow value to the EBU to set the gpios. We need to set the
47 __raw_writew(chip->shadow, chip->mmchip.regs); in ltq_mm_apply()
58 * Set the shadow value and call ltq_mm_apply.
65 chip->shadow |= (1 << offset); in ltq_mm_set()
67 chip->shadow &= ~(1 << offset); in ltq_mm_set()
104 u32 shadow; in ltq_mm_probe() local
117 /* store the shadow valu in ltq_mm_probe()
[all...]
/kernel/linux/linux-6.6/drivers/gpio/
H A Dgpio-janz-ttl.c60 u8 *shadow; in ttl_get_value() local
64 shadow = &mod->porta_shadow; in ttl_get_value()
66 shadow = &mod->portb_shadow; in ttl_get_value()
69 shadow = &mod->portc_shadow; in ttl_get_value()
74 ret = *shadow & BIT(offset); in ttl_get_value()
83 u8 *shadow; in ttl_set_value() local
87 shadow = &mod->porta_shadow; in ttl_set_value()
90 shadow = &mod->portb_shadow; in ttl_set_value()
94 shadow = &mod->portc_shadow; in ttl_set_value()
100 *shadow | in ttl_set_value()
[all...]
H A Dgpio-mm-lantiq.c31 u16 shadow; /* shadow the latches state */ member
35 * ltq_mm_apply() - write the shadow value to the ebu address.
38 * Write the shadow value to the EBU to set the gpios. We need to set the
47 __raw_writew(chip->shadow, chip->mmchip.regs); in ltq_mm_apply()
58 * Set the shadow value and call ltq_mm_apply.
65 chip->shadow |= (1 << offset); in ltq_mm_set()
67 chip->shadow &= ~(1 << offset); in ltq_mm_set()
104 u32 shadow; in ltq_mm_probe() local
117 /* store the shadow valu in ltq_mm_probe()
[all...]
/kernel/linux/linux-5.10/drivers/block/
H A Dxen-blkfront.c189 struct blk_shadow shadow[]; member
291 rinfo->shadow_free = rinfo->shadow[free].req.u.rw.id; in get_id_from_freelist()
292 rinfo->shadow[free].req.u.rw.id = 0x0fffffee; /* debug */ in get_id_from_freelist()
299 if (rinfo->shadow[id].req.u.rw.id != id) in add_id_to_freelist()
301 if (rinfo->shadow[id].request == NULL) in add_id_to_freelist()
303 rinfo->shadow[id].req.u.rw.id = rinfo->shadow_free; in add_id_to_freelist()
304 rinfo->shadow[id].request = NULL; in add_id_to_freelist()
555 rinfo->shadow[id].request = req; in blkif_ring_get_request()
556 rinfo->shadow[id].status = REQ_PROCESSING; in blkif_ring_get_request()
557 rinfo->shadow[i in blkif_ring_get_request()
623 struct blk_shadow *shadow = &rinfo->shadow[setup->id]; blkif_setup_rw_req_grant() local
2173 struct blk_shadow *shadow = rinfo->shadow; blkfront_resume() local
[all...]
/kernel/linux/linux-6.6/drivers/block/
H A Dxen-blkfront.c190 struct blk_shadow shadow[]; member
291 rinfo->shadow_free = rinfo->shadow[free].req.u.rw.id; in get_id_from_freelist()
292 rinfo->shadow[free].req.u.rw.id = 0x0fffffee; /* debug */ in get_id_from_freelist()
299 if (rinfo->shadow[id].req.u.rw.id != id) in add_id_to_freelist()
301 if (rinfo->shadow[id].request == NULL) in add_id_to_freelist()
303 rinfo->shadow[id].req.u.rw.id = rinfo->shadow_free; in add_id_to_freelist()
304 rinfo->shadow[id].request = NULL; in add_id_to_freelist()
543 rinfo->shadow[id].request = req; in blkif_ring_get_request()
544 rinfo->shadow[id].status = REQ_PROCESSING; in blkif_ring_get_request()
545 rinfo->shadow[i in blkif_ring_get_request()
611 struct blk_shadow *shadow = &rinfo->shadow[setup->id]; blkif_setup_rw_req_grant() local
2073 struct blk_shadow *shadow = rinfo->shadow; blkfront_resume() local
[all...]
/kernel/linux/linux-5.10/kernel/
H A Dcfi.c44 /* Page index for the beginning of the shadow */
46 /* An array of __cfi_check locations (as indices to the shadow) */
47 shadow_t shadow[1]; member
51 * The shadow covers ~128M from the beginning of the module region. If
61 /* The actual size of the shadow array, minus metadata */
62 #define SHADOW_ARR_SIZE (SHADOW_SIZE - offsetof(struct cfi_shadow, shadow))
68 /* Returns the index in the shadow for the given address */
80 return -1; /* Cannot be addressed with shadow */ in ptr_to_shadow()
85 /* Returns the page address for an index in the shadow */
95 /* Returns the __cfi_check function address for the given shadow locatio
[all...]
/kernel/linux/linux-6.6/mm/kasan/
H A Dreport_sw_tags.c51 u8 *shadow; in kasan_get_alloc_size() local
62 shadow = (u8 *)kasan_mem_to_shadow(object); in kasan_get_alloc_size()
64 if (*shadow != KASAN_TAG_INVALID) in kasan_get_alloc_size()
68 shadow++; in kasan_get_alloc_size()
81 u8 *shadow = (u8 *)kasan_mem_to_shadow(addr); in kasan_print_tags() local
83 pr_err("Pointer tag: [%02x], memory tag: [%02x]\n", addr_tag, *shadow); in kasan_print_tags()
H A Dsw_tags.c77 u8 *shadow_first, *shadow_last, *shadow; in kasan_check_range() local
113 for (shadow = shadow_first; shadow <= shadow_last; shadow++) { in kasan_check_range()
114 if (*shadow != tag) { in kasan_check_range()
/kernel/linux/linux-6.6/mm/
H A Dworkingset.c176 * slot of the evicted page. This is called a shadow entry.
178 * On cache misses for which there are shadow entries, an eligible
209 static void unpack_shadow(void *shadow, int *memcgidp, pg_data_t **pgdat, in unpack_shadow() argument
212 unsigned long entry = xa_to_value(shadow); in unpack_shadow()
259 * Tests if the shadow entry is for a folio that was recently evicted.
260 * Fills in @lruvec, @token, @workingset with the values unpacked from shadow.
262 static bool lru_gen_test_recent(void *shadow, bool file, struct lruvec **lruvec, in lru_gen_test_recent() argument
270 unpack_shadow(shadow, &memcg_id, &pgdat, token, workingset); in lru_gen_test_recent()
279 static void lru_gen_refault(struct folio *folio, void *shadow) in lru_gen_refault() argument
292 recent = lru_gen_test_recent(shadow, typ in lru_gen_refault()
333 lru_gen_test_recent(void *shadow, bool file, struct lruvec **lruvec, unsigned long *token, bool *workingset) lru_gen_test_recent() argument
339 lru_gen_refault(struct folio *folio, void *shadow) lru_gen_refault() argument
426 workingset_test_recent(void *shadow, bool file, bool *workingset) workingset_test_recent() argument
536 workingset_refault(struct folio *folio, void *shadow) workingset_refault() argument
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_vm_sdma.c44 if (table->shadow) in amdgpu_vm_sdma_map_table()
45 r = amdgpu_ttm_alloc_gart(&table->shadow->tbo); in amdgpu_vm_sdma_map_table()
241 if (bo->shadow) in amdgpu_vm_sdma_update()
242 amdgpu_vm_sdma_set_ptes(p, bo->shadow, pe, addr, in amdgpu_vm_sdma_update()
251 (bo->shadow ? 2 : 1); in amdgpu_vm_sdma_update()
266 if (bo->shadow) in amdgpu_vm_sdma_update()
267 amdgpu_vm_sdma_copy_ptes(p, bo->shadow, pe, nptes); in amdgpu_vm_sdma_update()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_vm_sdma.c44 if (table->shadow) in amdgpu_vm_sdma_map_table()
45 r = amdgpu_ttm_alloc_gart(&table->shadow->tbo); in amdgpu_vm_sdma_map_table()
267 if (vmbo->shadow) in amdgpu_vm_sdma_update()
268 amdgpu_vm_sdma_set_ptes(p, vmbo->shadow, pe, addr, in amdgpu_vm_sdma_update()
277 (vmbo->shadow ? 2 : 1); in amdgpu_vm_sdma_update()
292 if (vmbo->shadow) in amdgpu_vm_sdma_update()
293 amdgpu_vm_sdma_copy_ptes(p, vmbo->shadow, pe, nptes); in amdgpu_vm_sdma_update()

Completed in 16 milliseconds

123456789