1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * x86-specific bits of KMSAN shadow implementation. 4 * 5 * Copyright (C) 2022 Google LLC 6 * Author: Alexander Potapenko <glider@google.com> 7 */ 8 9 #include <asm/cpu_entry_area.h> 10 #include <linux/percpu-defs.h> 11 12 /* 13 * Addresses within the CPU entry area (including e.g. exception stacks) do not 14 * have struct page entries corresponding to them, so they need separate 15 * handling. 16 * arch_kmsan_get_meta_or_null() (declared in the header) maps the addresses in 17 * CPU entry area to addresses in cpu_entry_area_shadow/cpu_entry_area_origin. 18 */ 19 DEFINE_PER_CPU(char[CPU_ENTRY_AREA_SIZE], cpu_entry_area_shadow); 20 DEFINE_PER_CPU(char[CPU_ENTRY_AREA_SIZE], cpu_entry_area_origin); 21