Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */ 2 : : #ifndef _LINUX_KASAN_CHECKS_H 3 : : #define _LINUX_KASAN_CHECKS_H 4 : : 5 : : #include <linux/types.h> 6 : : 7 : : /* 8 : : * __kasan_check_*: Always available when KASAN is enabled. This may be used 9 : : * even in compilation units that selectively disable KASAN, but must use KASAN 10 : : * to validate access to an address. Never use these in header files! 11 : : */ 12 : : #ifdef CONFIG_KASAN 13 : : bool __kasan_check_read(const volatile void *p, unsigned int size); 14 : : bool __kasan_check_write(const volatile void *p, unsigned int size); 15 : : #else 16 : : static inline bool __kasan_check_read(const volatile void *p, unsigned int size) 17 : : { 18 : : return true; 19 : : } 20 : : static inline bool __kasan_check_write(const volatile void *p, unsigned int size) 21 : : { 22 : : return true; 23 : : } 24 : : #endif 25 : : 26 : : /* 27 : : * kasan_check_*: Only available when the particular compilation unit has KASAN 28 : : * instrumentation enabled. May be used in header files. 29 : : */ 30 : : #ifdef __SANITIZE_ADDRESS__ 31 : : #define kasan_check_read __kasan_check_read 32 : : #define kasan_check_write __kasan_check_write 33 : : #else 34 : 2522280 : static inline bool kasan_check_read(const volatile void *p, unsigned int size) 35 : : { 36 [ + + + + : 2522252 : return true; + - - - - - - - - - - - + + + + - + - - - - - - + - - - - - - + - - - - - - - - - - - - - - - - - - - - - - ] 37 : : } 38 : 3632135 : static inline bool kasan_check_write(const volatile void *p, unsigned int size) 39 : : { 40 [ + - - - ]: 2565364 : return true; 41 : : } 42 : : #endif 43 : : 44 : : #endif