Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * arch/arm/include/asm/kasan.h
0004  *
0005  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
0006  * Author: Andrey Ryabinin <ryabinin.a.a@gmail.com>
0007  *
0008  */
0009 
0010 #ifndef __ASM_KASAN_H
0011 #define __ASM_KASAN_H
0012 
0013 #ifdef CONFIG_KASAN
0014 
0015 #include <asm/kasan_def.h>
0016 
0017 #define KASAN_SHADOW_SCALE_SHIFT 3
0018 
0019 /*
0020  * The compiler uses a shadow offset assuming that addresses start
0021  * from 0. Kernel addresses don't start from 0, so shadow
0022  * for kernel really starts from 'compiler's shadow offset' +
0023  * ('kernel address space start' >> KASAN_SHADOW_SCALE_SHIFT)
0024  */
0025 
0026 asmlinkage void kasan_early_init(void);
0027 extern void kasan_init(void);
0028 
0029 #else
0030 static inline void kasan_init(void) { }
0031 #endif
0032 
0033 #endif