Lines Matching full:shadow
90 u32 *align_shadow_src, shadow; in kmsan_internal_memmove_metadata() local
101 * @src is untracked: zero out destination shadow, ignore the in kmsan_internal_memmove_metadata()
132 shadow = align_shadow_src[i]; in kmsan_internal_memmove_metadata()
137 * of the first shadow slot. in kmsan_internal_memmove_metadata()
140 shadow = (shadow >> skip_bits) << skip_bits; in kmsan_internal_memmove_metadata()
147 * last shadow slot. in kmsan_internal_memmove_metadata()
150 shadow = (shadow << skip_bits) >> skip_bits; in kmsan_internal_memmove_metadata()
154 * shadow is nonempty. in kmsan_internal_memmove_metadata()
156 if (origin_src[i] && (origin_src[i] != old_origin) && shadow) { in kmsan_internal_memmove_metadata()
167 if (shadow) in kmsan_internal_memmove_metadata()
177 * This is only done if the part of the source shadow corresponding to in kmsan_internal_memmove_metadata()
185 * src shadow: |uuuu|uuuu|....| in kmsan_internal_memmove_metadata()
189 * dst shadow: |.uuu|uuuu|u...| in kmsan_internal_memmove_metadata()
192 * dst shadow: |.uuu|uuuu|u...| in kmsan_internal_memmove_metadata()
197 shadow = align_shadow_src[src_slots - 1]; in kmsan_internal_memmove_metadata()
199 shadow = (shadow << skip_bits) >> skip_bits; in kmsan_internal_memmove_metadata()
200 if (shadow) in kmsan_internal_memmove_metadata()
205 shadow = align_shadow_src[0]; in kmsan_internal_memmove_metadata()
207 shadow = (shadow >> skip_bits) << skip_bits; in kmsan_internal_memmove_metadata()
208 if (shadow) in kmsan_internal_memmove_metadata()
272 * kmsan_metadata_is_contiguous() is true, so either all shadow in kmsan_internal_set_shadow_origin()
276 pr_err("%s: not memsetting %ld bytes starting at %px, because the shadow is NULL\n", in kmsan_internal_set_shadow_origin()
294 * If the new origin is non-zero, assume that the shadow byte is also non-zero, in kmsan_internal_set_shadow_origin()
297 * corresponding shadow slot is zero. in kmsan_internal_set_shadow_origin()
325 unsigned char *shadow = NULL; in kmsan_internal_check_memory() local
336 shadow = kmsan_get_metadata((void *)(addr64 + pos), in kmsan_internal_check_memory()
338 if (!shadow) { in kmsan_internal_check_memory()
356 if (!shadow[i]) { in kmsan_internal_check_memory()
445 pr_err("%s: attempting to access two shadow page ranges.\n", __func__); in kmsan_metadata_is_contiguous()
449 pr_err("page[0].shadow: %px, page[1].shadow: %px\n", cur_shadow, in kmsan_metadata_is_contiguous()