| /linux-6.15/kernel/livepatch/ |
| H A D | shadow.c | 73 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 D | xen-scsifront.c | 197 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 D | shadow-vars.rst | 24 (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 D | shstk.rst | 14 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 D | init.c | 100 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 D | shadow.c | 85 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 D | instrumentation.c | 144 *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 D | hooks.c | 154 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 D | scx200_gpio.h | 13 #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 D | gpio-janz-ttl.c | 60 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 D | gpio-mm-lantiq.c | 31 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 D | gpio-stp-xway.c | 84 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 D | gpio-latch.c | 60 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 D | mdt.c | 487 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 D | xen-blkfront.c | 190 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 D | report_sw_tags.c | 51 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 D | sw_tags.c | 78 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 D | report_generic.c | 49 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 D | workingset.c | 213 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 D | kmsan.rst | 132 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 D | ps3-lpm.c | 128 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 D | Makefile | 3 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 D | xen-hcd.c | 574 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 D | mmu.rst | 4 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 D | spu.c | 112 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()
|