Home
last modified time | relevance | path

Searched refs:shadow (Results 1 – 25 of 181) sorted by relevance

12345678

/linux-6.15/kernel/livepatch/
H A Dshadow.c73 return shadow->obj == obj && shadow->id == id; in klp_shadow_match()
85 struct klp_shadow *shadow; in klp_shadow_get() local
92 if (klp_shadow_match(shadow, obj, id)) { in klp_shadow_get()
94 return shadow->data; in klp_shadow_get()
237 hash_del_rcu(&shadow->node); in klp_shadow_free_struct()
239 dtor(shadow->obj, shadow->data); in klp_shadow_free_struct()
240 kfree_rcu(shadow, rcu_head); in klp_shadow_free_struct()
255 struct klp_shadow *shadow; in klp_shadow_free() local
265 klp_shadow_free_struct(shadow, dtor); in klp_shadow_free()
285 struct klp_shadow *shadow; in klp_shadow_free_all() local
[all …]
/linux-6.15/drivers/scsi/
H A Dxen-scsifront.c197 info->shadow[id] = shadow; in scsifront_do_request()
308 shadow = info->shadow[id]; in scsifront_cdb_cmd_done()
309 sc = shadow->sc; in scsifront_cdb_cmd_done()
336 struct vscsifrnt_shadow *shadow = info->shadow[id]; in scsifront_sync_cmd_done() local
351 kfree(shadow); in scsifront_sync_cmd_done()
374 shadow = info->shadow[ring_rsp->rqid]; in scsifront_do_response()
502 seg = shadow->sg ? : shadow->seg; in map_data_for_request()
672 shadow = kzalloc(sizeof(*shadow), GFP_NOIO); in scsifront_action_handler()
673 if (!shadow) in scsifront_action_handler()
708 kfree(shadow); in scsifront_action_handler()
[all …]
/linux-6.15/Documentation/livepatch/
H A Dshadow-vars.rst24 (See the full API usage docbook notes in livepatch/shadow.c.)
30 meta-data and shadow-data:
37 - data[] - storage for shadow data
48 * klp_shadow_get() - retrieve a shadow variable data pointer
51 * klp_shadow_alloc() - allocate and add a new shadow variable
60 - allocate a new shadow variable
69 - return existing shadow variable
73 - allocate a new shadow variable
83 - free shadow variable
91 - free shadow variable
[all …]
/linux-6.15/Documentation/arch/x86/
H A Dshstk.rst14 CET introduces shadow stack and indirect branch tracking (IBT). A shadow stack
23 shadow stack and kernel IBT are supported.
103 if shadow stack is disabled.
130 the shadow stack stores only return addresses, a large shadow stack covers
135 shadow stack is enabled, the shadow stack specific state is pushed onto the
136 shadow stack. Today this is only the old SSP (shadow stack pointer), pushed
139 restorer address to the shadow stack to help userspace avoid a shadow stack
142 So the shadow stack signal frame format is as follows::
150 32 bit execution while shadow stack is enabled by the allocating shadow stacks
162 shadow access triggers a page fault with the shadow stack access bit set
[all …]
/linux-6.15/mm/kmsan/
H A Dinit.c100 struct page *shadow, *origin; member
119 struct page *shadow, *origin; in kmsan_memblock_free_pages() local
121 if (!held_back[order].shadow) { in kmsan_memblock_free_pages()
122 held_back[order].shadow = page; in kmsan_memblock_free_pages()
129 shadow = held_back[order].shadow; in kmsan_memblock_free_pages()
131 kmsan_setup_meta(page, shadow, origin, order); in kmsan_memblock_free_pages()
133 held_back[order].shadow = NULL; in kmsan_memblock_free_pages()
171 struct page *page, *shadow, *origin; in do_collection() local
175 shadow = smallstack_pop(&collect); in do_collection()
219 if (held_back[i].shadow) in kmsan_memblock_discard()
[all …]
H A Dshadow.c85 void *shadow; in kmsan_get_shadow_origin_ptr() local
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()
173 struct page *shadow, *origin; in kmsan_alloc_page() local
180 shadow = shadow_page_for(page); in kmsan_alloc_page()
277 void *shadow, *origin; in kmsan_init_alloc_meta_for_range() local
288 shadow_p = virt_to_page((char *)shadow + addr); in kmsan_init_alloc_meta_for_range()
301 set_no_shadow_origin_page(&shadow[i]); in kmsan_setup_meta()
[all …]
H A Dinstrumentation.c144 *shadow = *(u64 *)(ctx->cstate.param_tls); in get_param0_metadata()
152 *(u64 *)(ctx->cstate.retval_tls) = shadow; in set_retval_metadata()
162 u64 shadow; in __msan_memmove() local
164 get_param0_metadata(&shadow, &origin); in __msan_memmove()
176 set_retval_metadata(shadow, origin); in __msan_memmove()
187 u64 shadow; in __msan_memcpy() local
189 get_param0_metadata(&shadow, &origin); in __msan_memcpy()
203 set_retval_metadata(shadow, origin); in __msan_memcpy()
214 u64 shadow; in __msan_memset() local
216 get_param0_metadata(&shadow, &origin); in __msan_memset()
[all …]
H A Dhooks.c154 struct page *shadow, *origin; in kmsan_ioremap_page_range() local
164 shadow = alloc_pages(gfp_mask, 1); in kmsan_ioremap_page_range()
166 if (!shadow || !origin) { in kmsan_ioremap_page_range()
172 vmalloc_shadow(start + off + PAGE_SIZE), prot, &shadow, in kmsan_ioremap_page_range()
178 shadow = NULL; in kmsan_ioremap_page_range()
202 if (shadow) in kmsan_ioremap_page_range()
203 __free_pages(shadow, 1); in kmsan_ioremap_page_range()
222 struct page *shadow, *origin; in kmsan_iounmap_page_range() local
234 shadow = kmsan_vmalloc_to_page_or_null((void *)v_shadow); in kmsan_iounmap_page_range()
238 if (shadow) in kmsan_iounmap_page_range()
[all …]
/linux-6.15/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()
/linux-6.15/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()
100 *shadow |= BIT(offset); in ttl_set_value()
102 *shadow &= ~BIT(offset); in ttl_set_value()
[all …]
H A Dgpio-mm-lantiq.c31 u16 shadow; /* shadow the latches state */ member
47 __raw_writew(chip->shadow, chip->mmchip.regs); in 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
118 if (!of_property_read_u32(pdev->dev.of_node, "lantiq,shadow", &shadow)) in ltq_mm_probe()
119 chip->shadow = shadow; in ltq_mm_probe()
H A Dgpio-stp-xway.c84 u32 shadow; /* shadow the shift registers state */ member
121 chip->shadow |= BIT(gpio); in xway_stp_set()
123 chip->shadow &= ~BIT(gpio); in xway_stp_set()
124 xway_stp_w32(chip->virt, chip->shadow, XWAY_STP_CPU0); in xway_stp_set()
235 u32 shadow, groups, dsl, phy; in xway_stp_probe() local
258 if (!of_property_read_u32(pdev->dev.of_node, "lantiq,shadow", &shadow)) in xway_stp_probe()
259 chip->shadow = shadow; in xway_stp_probe()
H A Dgpio-latch.c60 unsigned long *shadow; member
82 assign_bit(offset, priv->shadow, val); in gpio_latch_set_unlocked()
87 priv->shadow)); in gpio_latch_set_unlocked()
162 priv->shadow = devm_bitmap_zalloc(dev, n_latches * priv->n_latched_gpios, in gpio_latch_probe()
164 if (!priv->shadow) in gpio_latch_probe()
/linux-6.15/fs/nilfs2/
H A Dmdt.c487 if (shadow) { in nilfs_mdt_clear()
488 struct inode *s_inode = shadow->inode; in nilfs_mdt_clear()
490 shadow->inode = NULL; in nilfs_mdt_clear()
526 struct nilfs_shadow_map *shadow) in nilfs_mdt_setup_shadow_map() argument
531 INIT_LIST_HEAD(&shadow->frozen_buffers); in nilfs_mdt_setup_shadow_map()
537 shadow->inode = s_inode; in nilfs_mdt_setup_shadow_map()
538 mi->mi_shadow = shadow; in nilfs_mdt_setup_shadow_map()
552 struct nilfs_shadow_map *shadow = mi->mi_shadow; in nilfs_mdt_save_to_shadow_map() local
553 struct inode *s_inode = shadow->inode; in nilfs_mdt_save_to_shadow_map()
593 &shadow->frozen_buffers); in nilfs_mdt_freeze_buffer()
[all …]
/linux-6.15/drivers/block/
H A Dxen-blkfront.c190 struct blk_shadow shadow[]; member
304 rinfo->shadow[id].request = NULL; in add_id_to_freelist()
543 rinfo->shadow[id].request = req; in blkif_ring_get_request()
611 struct blk_shadow *shadow = &rinfo->shadow[setup->id]; in blkif_setup_rw_req_grant() local
1249 if (!rinfo->shadow[i].request) in blkif_free_ring()
1282 kvfree(rinfo->shadow[i].sg); in blkif_free_ring()
1283 rinfo->shadow[i].sg = NULL; in blkif_free_ring()
2075 struct blk_shadow *shadow = rinfo->shadow; in blkfront_resume() local
2079 if (!shadow[j].request) in blkfront_resume()
2237 kvfree(rinfo->shadow[i].sg); in blkfront_setup_indirect()
[all …]
/linux-6.15/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.c78 u8 *shadow_first, *shadow_last, *shadow; in kasan_check_range() local
114 for (shadow = shadow_first; shadow <= shadow_last; shadow++) { in kasan_check_range()
115 if (*shadow != tag) { in kasan_check_range()
H A Dreport_generic.c49 u8 *shadow; in kasan_get_alloc_size() local
60 shadow = (u8 *)kasan_mem_to_shadow(object); in kasan_get_alloc_size()
62 if (*shadow == 0) in kasan_get_alloc_size()
64 else if (*shadow >= 1 && *shadow <= KASAN_GRANULE_SIZE - 1) in kasan_get_alloc_size()
65 return size + *shadow; in kasan_get_alloc_size()
68 shadow++; in kasan_get_alloc_size()
/linux-6.15/mm/
H A Dworkingset.c213 unsigned long entry = xa_to_value(shadow); in unpack_shadow()
264 static bool lru_gen_test_recent(void *shadow, struct lruvec **lruvec, in lru_gen_test_recent() argument
272 unpack_shadow(shadow, &memcg_id, &pgdat, token, workingset); in lru_gen_test_recent()
283 static void lru_gen_refault(struct folio *folio, void *shadow) in lru_gen_refault() argument
296 recent = lru_gen_test_recent(shadow, &lruvec, &token, &workingset); in lru_gen_refault()
333 static bool lru_gen_test_recent(void *shadow, struct lruvec **lruvec, in lru_gen_test_recent() argument
339 static void lru_gen_refault(struct folio *folio, void *shadow) in lru_gen_refault() argument
440 unpack_shadow(shadow, &memcgid, &pgdat, &eviction, workingset); in workingset_test_recent()
534 void workingset_refault(struct folio *folio, void *shadow) in workingset_refault() argument
546 lru_gen_refault(folio, shadow); in workingset_refault()
[all …]
/linux-6.15/Documentation/dev-tools/
H A Dkmsan.rst132 KMSAN shadow memory
138 setting its shadow bytes to ``0xff``) is called poisoning, marking it
139 initialized (setting the shadow bytes to ``0x00``) is called unpoisoning.
148 ``mm/kmsan/`` to persist shadow values.
152 When a value is read from memory, its shadow memory is also obtained and
155 shadow of the result depending on those values and their shadows.
163 In this case the shadow of ``a`` is ``0``, shadow of ``b`` is ``0xffffffff``,
240 void *shadow, *origin;
316 For each use of a value the compiler emits a shadow check that calls
384 struct page *shadow, *origin;
[all …]
/linux-6.15/drivers/ps3/
H A Dps3-lpm.c128 struct ps3_lpm_shadow_regs shadow; member
394 return lpm_priv->shadow.pm_control; in ps3_read_pm()
398 return lpm_priv->shadow.pm_start_stop; in ps3_read_pm()
409 return lpm_priv->shadow.group_control; in ps3_read_pm()
411 return lpm_priv->shadow.debug_bus_control; in ps3_read_pm()
451 lpm_priv->shadow.group_control = val; in ps3_write_pm()
459 lpm_priv->shadow.debug_bus_control = val; in ps3_write_pm()
465 if (val != lpm_priv->shadow.pm_control) in ps3_write_pm()
471 lpm_priv->shadow.pm_control = val; in ps3_write_pm()
483 lpm_priv->shadow.pm_start_stop = val; in ps3_write_pm()
[all …]
/linux-6.15/samples/livepatch/
H A DMakefile3 obj-$(CONFIG_SAMPLE_LIVEPATCH) += livepatch-shadow-mod.o
4 obj-$(CONFIG_SAMPLE_LIVEPATCH) += livepatch-shadow-fix1.o
5 obj-$(CONFIG_SAMPLE_LIVEPATCH) += livepatch-shadow-fix2.o
/linux-6.15/drivers/usb/host/
H A Dxen-hcd.c574 info->shadow[id].urb = NULL; in xenhcd_add_id_to_freelist()
718 struct usb_shadow *shadow = info->shadow + id; in xenhcd_gnttab_done() local
722 if (!shadow->in_flight) { in xenhcd_gnttab_done()
726 shadow->in_flight = false; in xenhcd_gnttab_done()
738 shadow->req.nr_buffer_segs = 0; in xenhcd_gnttab_done()
789 req = &info->shadow[id].req; in xenhcd_do_request()
807 *req = info->shadow[id].req; in xenhcd_do_request()
810 info->shadow[id].urb = urb; in xenhcd_do_request()
862 info->shadow[req_id].urb = NULL; in xenhcd_cancel_all_enqueued_urbs()
1490 info->shadow[i].req.id = i + 1; in xenhcd_create_hcd()
[all …]
/linux-6.15/Documentation/virt/kvm/x86/
H A Dmmu.rst4 The x86 kvm shadow mmu
55 spte shadow pte (referring to pfns)
152 The level in the shadow paging hierarchy that this shadow page belongs to.
166 so multiple shadow pages are needed to shadow one guest page.
228 at the shadow page structure.
340 - walk shadow page table
386 - look up new shadow roots
387 - synchronize newly reachable shadow pages
392 - look up new shadow roots
393 - synchronize newly reachable shadow pages
[all …]
/linux-6.15/arch/powerpc/platforms/ps3/
H A Dspu.c112 struct spe_shadow __iomem *shadow; member
124 unsigned long problem, unsigned long ls, unsigned long shadow, in _dump_areas() argument
131 pr_debug("%s:%d: shadow: %lxh\n", func, line, shadow); in _dump_areas()
180 iounmap(spu_pdata(spu)->shadow); in spu_unmap()
194 spu_pdata(spu)->shadow = ioremap_prot(spu_pdata(spu)->shadow_addr, in setup_areas()
197 if (!spu_pdata(spu)->shadow) { in setup_areas()
231 (unsigned long)spu_pdata(spu)->shadow); in setup_areas()
368 while (in_be64(&spu_pdata(spu)->shadow->spe_execution_status) in ps3_create_spu()
514 return in_be64(&spu_pdata(spu)->shadow->mfc_dar_RW); in mfc_dar_get()
524 return in_be64(&spu_pdata(spu)->shadow->mfc_dsisr_RW); in mfc_dsisr_get()

12345678