/* 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