Lines Matching full:shadow
3 * 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, *origin; in kmsan_alloc_page() local
182 shadow = shadow_page_for(page); in kmsan_alloc_page()
186 __memset(page_address(shadow), 0, PAGE_SIZE * pages); in kmsan_alloc_page()
195 __memset(page_address(shadow), -1, PAGE_SIZE * pages); in kmsan_alloc_page()
280 void *shadow, *origin; in kmsan_init_alloc_meta_for_range() local
286 shadow = memblock_alloc(size, PAGE_SIZE); in kmsan_init_alloc_meta_for_range()
290 shadow_p = virt_to_page_or_null((char *)shadow + addr); in kmsan_init_alloc_meta_for_range()
299 void kmsan_setup_meta(struct page *page, struct page *shadow, in kmsan_setup_meta() argument
303 set_no_shadow_origin_page(&shadow[i]); in kmsan_setup_meta()
305 shadow_page_for(&page[i]) = &shadow[i]; in kmsan_setup_meta()