| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * arch/arm/include/asm/kasan.h |
| * |
| * Copyright (c) 2015 Samsung Electronics Co., Ltd. |
| * Author: Andrey Ryabinin <ryabinin.a.a@gmail.com> |
| * |
| */ |
| |
| #ifndef __ASM_KASAN_H |
| #define __ASM_KASAN_H |
| |
| #ifdef CONFIG_KASAN |
| |
| #include <asm/kasan_def.h> |
| |
| #define KASAN_SHADOW_SCALE_SHIFT 3 |
| |
| /* |
| * The compiler uses a shadow offset assuming that addresses start |
| * from 0. Kernel addresses don't start from 0, so shadow |
| * for kernel really starts from 'compiler's shadow offset' + |
| * ('kernel address space start' >> KASAN_SHADOW_SCALE_SHIFT) |
| */ |
| |
| asmlinkage void kasan_early_init(void); |
| extern void kasan_init(void); |
| |
| #else |
| static inline void kasan_init(void) { } |
| #endif |
| |
| #endif |