| /linux/kernel/livepatch/ |
| H A D | shadow.c | 70 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 D | xen-scsifront.c | 121 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 D | shadow-vars.rst | 6 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/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/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() 94 shadow = &mod->portc_shadow; in ttl_set_value() 100 *shadow |= BIT(offset); in ttl_set_value() [all …]
|
| H A D | gpio-latch.c | 57 unsigned long *shadow; member 79 assign_bit(offset, priv->shadow, val); in gpio_latch_set_unlocked() 84 priv->shadow)); in gpio_latch_set_unlocked() 159 priv->shadow = devm_bitmap_zalloc(dev, n_latches * priv->n_latched_gpios, in gpio_latch_probe() 161 if (!priv->shadow) in gpio_latch_probe()
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_mem_pool.c | 41 struct xe_bo *shadow; member 74 struct xe_bo *shadow; in pool_shadow_init() local 77 xe_assert(xe, !pool->shadow); in pool_shadow_init() 88 shadow = xe_managed_bo_create_pin_map(xe, tile, in pool_shadow_init() 94 if (IS_ERR(shadow)) in pool_shadow_init() 95 return PTR_ERR(shadow); in pool_shadow_init() 97 pool->shadow = shadow; in pool_shadow_init() 195 xe_tile_assert(tile, pool->shadow); in xe_mem_pool_sync() 197 xe_map_memcpy_to(xe, &pool->shadow->vmap, 0, in xe_mem_pool_sync() 217 xe_tile_assert(tile, pool->shadow); in xe_mem_pool_swap_shadow_locked() [all …]
|
| /linux/mm/kmsan/ |
| H A D | instrumentation.c | 139 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 …]
|
| /linux/drivers/block/ |
| H A D | xen-blkfront.c | 190 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/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 | 79 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 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/mm/ |
| H A D | workingset.c | 213 static void unpack_shadow(void *shadow, int *memcgidp, pg_data_t **pgdat, in unpack_shadow() argument 216 unsigned long entry = xa_to_value(shadow); in unpack_shadow() 273 static bool lru_gen_test_recent(void *shadow, struct lruvec **lruvec, in lru_gen_test_recent() argument 281 unpack_shadow(shadow, &memcg_id, &pgdat, token, workingset); in lru_gen_test_recent() 292 static void lru_gen_refault(struct folio *folio, void *shadow) in lru_gen_refault() argument 305 recent = lru_gen_test_recent(shadow, &lruvec, &token, &workingset, type); in lru_gen_refault() 344 static bool lru_gen_test_recent(void *shadow, struct lruvec **lruvec, in lru_gen_test_recent() argument 350 static void lru_gen_refault(struct folio *folio, void *shadow) in lru_gen_refault() argument 430 bool workingset_test_recent(void *shadow, bool file, bool *workingset, in workingset_test_recent() argument 446 recent = lru_gen_test_recent(shadow, &eviction_lruvec, &eviction, in workingset_test_recent() [all …]
|
| H A D | swap_state.c | 259 swp_entry_t entry, void *shadow) in __swap_cache_do_del_folio() argument 285 __swap_table_set(ci, ci_off, shadow_to_swp_tb(shadow, in __swap_cache_do_del_folio() 317 swp_entry_t entry, void *shadow) in __swap_cache_del_folio() argument 321 __swap_cache_do_del_folio(ci, folio, entry, shadow); in __swap_cache_del_folio() 417 void *shadow = NULL; in __swap_cache_alloc() local 450 err = __swap_cache_add_check(ci, targ_entry, nr_pages, &shadow, &memcg_id); in __swap_cache_alloc() 465 __swap_cache_do_del_folio(ci, folio, entry, shadow); in __swap_cache_alloc() 476 __swap_cache_do_del_folio(ci, folio, entry, shadow); in __swap_cache_alloc() 486 if (shadow) in __swap_cache_alloc() 487 workingset_refault(folio, shadow); in __swap_cache_alloc()
|
| /linux/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() 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/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/drivers/usb/host/ |
| H A D | xen-hcd.c | 84 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/arch/powerpc/platforms/ps3/ |
| H A D | spu.c | 113 struct spe_shadow __iomem *shadow; member 125 unsigned long problem, unsigned long ls, unsigned long shadow, in _dump_areas() argument 132 pr_debug("%s:%d: shadow: %lxh\n", func, line, shadow); in _dump_areas() 181 iounmap(spu_pdata(spu)->shadow); in spu_unmap() 195 spu_pdata(spu)->shadow = ioremap_prot(spu_pdata(spu)->shadow_addr, in setup_areas() 198 if (!spu_pdata(spu)->shadow) { in setup_areas() 232 (unsigned long)spu_pdata(spu)->shadow); in setup_areas() 365 while (in_be64(&spu_pdata(spu)->shadow->spe_execution_status) != in ps3_create_spu() 511 return in_be64(&spu_pdata(spu)->shadow->mfc_dar_RW); in mfc_dar_get() 521 return in_be64(&spu_pdata(spu)->shadow->mfc_dsisr_RW); in mfc_dsisr_get()
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
| H A D | shadow.c | 30 struct shadow { struct 39 shadow_fetch(struct nvkm_bios *bios, struct shadow *mthd, u32 upto) in shadow_fetch() argument 52 shadow_image(struct nvkm_bios *bios, int idx, u32 offset, struct shadow *mthd) in shadow_image() 110 shadow_method(struct nvkm_bios *bios, struct shadow *mthd, const char *name) in shadow_method() 177 struct shadow mthds[] = { in nvbios_shadow()
|
| /linux/drivers/net/phy/ |
| H A D | bcm-phy-lib.h | 59 int bcm_phy_write_shadow(struct phy_device *phydev, u16 shadow, 61 int bcm_phy_read_shadow(struct phy_device *phydev, u16 shadow); 86 void bcm_phy_get_stats(struct phy_device *phydev, u64 *shadow, 88 void bcm_phy_update_stats_shadow(struct phy_device *phydev, u64 *shadow);
|
| H A D | bcm-phy-lib.c | 242 int bcm_phy_read_shadow(struct phy_device *phydev, u16 shadow) in bcm_phy_read_shadow() argument 244 phy_write(phydev, MII_BCM54XX_SHD, MII_BCM54XX_SHD_VAL(shadow)); in bcm_phy_read_shadow() 249 int bcm_phy_write_shadow(struct phy_device *phydev, u16 shadow, in bcm_phy_write_shadow() argument 254 MII_BCM54XX_SHD_VAL(shadow) | in bcm_phy_write_shadow() 533 static u64 bcm_phy_get_stat(struct phy_device *phydev, u64 *shadow, in bcm_phy_get_stat() argument 549 shadow[i] += val; in bcm_phy_get_stat() 550 ret = shadow[i]; in bcm_phy_get_stat() 556 void bcm_phy_get_stats(struct phy_device *phydev, u64 *shadow, in bcm_phy_get_stats() argument 562 data[i] = bcm_phy_get_stat(phydev, shadow, i); in bcm_phy_get_stats() 566 void bcm_phy_update_stats_shadow(struct phy_device *phydev, u64 *shadow) in bcm_phy_update_stats_shadow() argument [all …]
|
| /linux/drivers/gpu/drm/qxl/ |
| H A D | qxl_display.c | 446 is_primary = qobj->shadow ? qobj->shadow->is_primary : qobj->is_primary; in qxl_framebuffer_surface_dirty() 681 primary = bo->shadow ? bo->shadow : bo; in qxl_primary_atomic_update() 708 if (bo->shadow) in qxl_primary_atomic_disable() 709 bo = bo->shadow; in qxl_primary_atomic_disable() 843 if (user_bo->shadow != qdev->dumb_shadow_bo) { in qxl_prepare_shadow() 844 if (user_bo->shadow) { in qxl_prepare_shadow() 845 qxl_bo_unpin(user_bo->shadow); in qxl_prepare_shadow() 847 (&user_bo->shadow->tbo.base); in qxl_prepare_shadow() 848 user_bo->shadow = NULL; in qxl_prepare_shadow() 851 user_bo->shadow = qdev->dumb_shadow_bo; in qxl_prepare_shadow() [all …]
|
| /linux/drivers/media/dvb-frontends/ |
| H A D | itd1000.c | 77 itd1000_write_regs(state, (reg - 1) & 0xff, &state->shadow[(reg - 1) & 0xff], 1); in itd1000_read_reg() 90 state->shadow[r] = tmp; in itd1000_write_reg() 382 memset(state->shadow, 0xff, sizeof(state->shadow)); in itd1000_attach() 384 state->shadow[i] = itd1000_read_reg(state, i); in itd1000_attach()
|
| /linux/drivers/media/pci/cx88/ |
| H A D | cx88.h | 346 u32 shadow[SHADOW_MAX]; member 597 #define cx_sread(sreg) (core->shadow[sreg]) 599 (core->shadow[sreg] = value, \ 600 writel(core->shadow[sreg], core->lmmio + ((reg) >> 2))) 602 (core->shadow[sreg] = (core->shadow[sreg] & ~(mask)) | \ 604 writel(core->shadow[sreg], \
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/mxm/ |
| H A D | base.c | 215 struct mxm_shadow_h *shadow = _mxm_shadow; in mxm_shadow() local 217 nvkm_debug(&mxm->subdev, "checking %s\n", shadow->name); in mxm_shadow() 218 if (shadow->exec(mxm, version)) { in mxm_shadow() 224 } while ((++shadow)->name); in mxm_shadow()
|