Home
last modified time | relevance | path

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

123456

/linux/kernel/livepatch/
H A Dshadow.c70 static inline bool klp_shadow_match(struct klp_shadow *shadow, void *obj, in klp_shadow_match() argument
73 return shadow->obj == obj && shadow->id == id; in klp_shadow_match()
85 struct klp_shadow *shadow; in klp_shadow_get() local
89 hash_for_each_possible_rcu(klp_shadow_hash, shadow, node, in klp_shadow_get()
92 if (klp_shadow_match(shadow, obj, id)) { in klp_shadow_get()
94 return shadow->data; in klp_shadow_get()
234 static void klp_shadow_free_struct(struct klp_shadow *shadow, in klp_shadow_free_struct() argument
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()
[all …]
/linux/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() argument
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->nr_segments; in scsifront_do_request()
220 for (i = 0; i < (shadow->nr_segments & ~VSCSIIF_SG_GRANT); i++) in scsifront_do_request()
[all …]
/linux/Documentation/livepatch/
H A Dshadow-vars.rst6 additional "shadow" data with existing data structures. Shadow data is
8 unmodified. The shadow variable API described in this document is used
9 to allocate/add and remove/free shadow variables to/from their parents.
13 shadow data. The numeric identifier is a simple enumeration that may be
14 used to describe shadow variable version, class or type, etc. More
16 numeric id subsequently filters hashtable queries. Multiple shadow
24 (See the full API usage docbook notes in livepatch/shadow.c.)
26 A hashtable references all shadow variables. These references are
30 meta-data and shadow-data:
37 - data[] - storage for shadow data
[all …]
/linux/mm/kmsan/
H A Dinit.c99 struct page *shadow, *origin; member
118 struct page *shadow, *origin; in kmsan_memblock_free_pages() local
120 if (!held_back[order].shadow) { in kmsan_memblock_free_pages()
121 held_back[order].shadow = page; in kmsan_memblock_free_pages()
128 shadow = held_back[order].shadow; in kmsan_memblock_free_pages()
130 kmsan_setup_meta(page, shadow, origin, order); in kmsan_memblock_free_pages()
132 held_back[order].shadow = NULL; in kmsan_memblock_free_pages()
170 struct page *page, *shadow, *origin; in do_collection() local
174 shadow = smallstack_pop(&collect); in do_collection()
176 kmsan_setup_meta(page, shadow, origin, collect.order); in do_collection()
[all …]
H A Dshadow.c85 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()
173 struct page *shadow, *origin; in kmsan_alloc_page() local
180 shadow = shadow_page_for(page); in kmsan_alloc_page()
184 __memset(page_address(shadow), 0, PAGE_SIZE * pages); in kmsan_alloc_page()
193 __memset(page_address(shadow), -1, PAGE_SIZE * pages); in kmsan_alloc_page()
[all …]
H A Dinstrumentation.c139 static inline void get_param0_metadata(u64 *shadow, in get_param0_metadata() argument
144 *shadow = *(u64 *)(ctx->cstate.param_tls); in get_param0_metadata()
148 static inline void set_retval_metadata(u64 shadow, depot_stack_handle_t origin) in set_retval_metadata() argument
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()
[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/fs/nilfs2/
H A Dmdt.c480 struct nilfs_shadow_map *shadow = mdi->mi_shadow; in nilfs_mdt_clear() local
485 if (shadow) { in nilfs_mdt_clear()
486 struct inode *s_inode = shadow->inode; in nilfs_mdt_clear()
488 shadow->inode = NULL; in nilfs_mdt_clear()
524 struct nilfs_shadow_map *shadow) in nilfs_mdt_setup_shadow_map() argument
529 INIT_LIST_HEAD(&shadow->frozen_buffers); in nilfs_mdt_setup_shadow_map()
535 shadow->inode = s_inode; in nilfs_mdt_setup_shadow_map()
536 mi->mi_shadow = shadow; in nilfs_mdt_setup_shadow_map()
550 struct nilfs_shadow_map *shadow = mi->mi_shadow; in nilfs_mdt_save_to_shadow_map() local
551 struct inode *s_inode = shadow->inode; in nilfs_mdt_save_to_shadow_map()
[all …]
/linux/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 |= BIT(offset); in ttl_set_value()
[all …]
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()
/linux/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/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[id].associated_id = NO_ASSOCIATED_ID; in blkif_ring_get_request()
[all …]
/linux/drivers/irqchip/
H A Dirq-econet-en751221.c74 u8 shadow; in econet_chmask() local
83 shadow = econet_intc.interrupt_shadows[hwirq]; in econet_chmask()
84 if (WARN_ON_ONCE(shadow == IS_SHADOW)) in econet_chmask()
86 else if (shadow != NOT_PERCPU && smp_processor_id() == 1) in econet_chmask()
87 hwirq = shadow; in econet_chmask()
219 u32 shadow = shadows[i + 1]; in get_shadow_interrupts() local
222 if (shadow > IRQ_COUNT) { in get_shadow_interrupts()
224 node, field, i + 1, shadow); in get_shadow_interrupts()
239 if (econet_intc.interrupt_shadows[shadow] != NOT_PERCPU) { in get_shadow_interrupts()
241 node, field, i + 1, shadow); in get_shadow_interrupts()
[all …]
/linux/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.c79 u8 *shadow_first, *shadow_last, *shadow; in kasan_check_range() local
115 for (shadow = shadow_first; shadow <= shadow_last; shadow++) { in kasan_check_range()
116 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/mm/
H A Dworkingset.c177 * slot of the evicted page. This is called a shadow entry.
179 * On cache misses for which there are shadow entries, an eligible
210 static void unpack_shadow(void *shadow, int *memcgidp, pg_data_t **pgdat, in unpack_shadow() argument
213 unsigned long entry = xa_to_value(shadow); in unpack_shadow()
261 * Tests if the shadow entry is for a folio that was recently evicted.
262 * Fills in @lruvec, @token, @workingset with the values unpacked from 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, in lru_gen_refault()
333 lru_gen_test_recent(void * shadow,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
418 workingset_test_recent(void * shadow,bool file,bool * workingset,bool flush) workingset_test_recent() argument
534 workingset_refault(struct folio * folio,void * shadow) workingset_refault() argument
[all...]
H A Dswap_table.h40 static inline unsigned long shadow_swp_to_tb(void *shadow) in shadow_swp_to_tb() argument
44 VM_WARN_ON_ONCE(shadow && !xa_is_value(shadow)); in shadow_swp_to_tb()
45 return (unsigned long)shadow; in shadow_swp_to_tb()
/linux/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()
446 if (val != lpm_priv->shadow.group_control) in ps3_write_pm()
451 lpm_priv->shadow.group_control = val; in ps3_write_pm()
454 if (val != lpm_priv->shadow.debug_bus_control) 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()
[all …]
/linux/Documentation/virt/kvm/x86/
H A Dmmu.rst4 The x86 kvm shadow mmu
55 spte shadow pte (referring to pfns)
87 direct mode; otherwise it operates in shadow mode (see below).
121 The principal data structure is the shadow page, 'struct kvm_mmu_page'. A
122 shadow page contains 512 sptes, which can be either leaf or nonleaf sptes. A
123 shadow page may contain a mix of leaf and nonleaf sptes.
126 is not related to a translation directly. It points to other shadow pages.
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.
167 For first-level shadow pages, role.quadrant can be 0 or 1 and denotes the
[all …]
/linux/drivers/usb/host/
H A Dxen-hcd.c84 struct usb_shadow shadow[XENUSB_URB_RING_SIZE]; member
565 info->shadow_free = info->shadow[free].req.id; in xenhcd_get_id_from_freelist()
566 info->shadow[free].req.id = 0x0fff; /* debug */ in xenhcd_get_id_from_freelist()
573 info->shadow[id].req.id = info->shadow_free; in xenhcd_add_id_to_freelist()
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()
728 nr_segs = shadow->req.nr_buffer_segs; in xenhcd_gnttab_done()
730 if (xenusb_pipeisoc(shadow->req.pipe)) in xenhcd_gnttab_done()
[all …]
/linux/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/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()
367 while (in_be64(&spu_pdata(spu)->shadow->spe_execution_status) in ps3_create_spu()
513 return in_be64(&spu_pdata(spu)->shadow->mfc_dar_RW); in mfc_dar_get()
523 return in_be64(&spu_pdata(spu)->shadow->mfc_dsisr_RW); in mfc_dsisr_get()
/linux/Documentation/dev-tools/
H A Dkasan.rst259 granule is encoded in one shadow byte. Those 8 bytes can be accessible,
261 encoding for each shadow byte: 00 means that all 8 bytes of the corresponding
268 In the report above, the arrow points to the shadow byte ``03``, which means
310 Software KASAN modes use shadow memory to record whether each byte of memory is
311 safe to access and use compile-time instrumentation to insert shadow memory
314 Generic KASAN dedicates 1/8th of kernel memory to its shadow memory (16TB
316 translate a memory address to its corresponding shadow address.
318 Here is the function which translates an address to its corresponding shadow
332 memory accesses are valid or not by checking corresponding shadow memory.
335 directly inserts the code to check shadow memory. This option significantly
[all …]
/linux/arch/s390/kvm/
H A Dtrace-s390.h340 TP_PROTO(unsigned long start, unsigned long end, unsigned int shadow),
341 TP_ARGS(start, end, shadow),
346 __field(unsigned int, shadow)
352 __entry->shadow = shadow;
356 __entry->start, __entry->end, __entry->shadow)

123456