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 */
19DEFINE_PER_CPU(char[CPU_ENTRY_AREA_SIZE], cpu_entry_area_shadow);
20DEFINE_PER_CPU(char[CPU_ENTRY_AREA_SIZE], cpu_entry_area_origin);
21

source code of linux/arch/x86/mm/kmsan_shadow.c