File: kmsan_shadow.c

package info (click to toggle)
linux 6.1.139-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 1,495,880 kB
  • sloc: ansic: 23,469,452; asm: 266,614; sh: 110,522; makefile: 49,887; python: 36,990; perl: 36,834; cpp: 6,056; yacc: 4,908; lex: 2,725; awk: 1,440; ruby: 25; sed: 5
file content (20 lines) | stat: -rw-r--r-- 712 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// SPDX-License-Identifier: GPL-2.0
/*
 * x86-specific bits of KMSAN shadow implementation.
 *
 * Copyright (C) 2022 Google LLC
 * Author: Alexander Potapenko <glider@google.com>
 */

#include <asm/cpu_entry_area.h>
#include <linux/percpu-defs.h>

/*
 * Addresses within the CPU entry area (including e.g. exception stacks) do not
 * have struct page entries corresponding to them, so they need separate
 * handling.
 * arch_kmsan_get_meta_or_null() (declared in the header) maps the addresses in
 * CPU entry area to addresses in cpu_entry_area_shadow/cpu_entry_area_origin.
 */
DEFINE_PER_CPU(char[CPU_ENTRY_AREA_SIZE], cpu_entry_area_shadow);
DEFINE_PER_CPU(char[CPU_ENTRY_AREA_SIZE], cpu_entry_area_origin);