root/include/linux/kasan-checks.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. __kasan_check_read
  2. __kasan_check_write
  3. kasan_check_read
  4. kasan_check_write

   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 static inline bool kasan_check_read(const volatile void *p, unsigned int size)
  35 {
  36         return true;
  37 }
  38 static inline bool kasan_check_write(const volatile void *p, unsigned int size)
  39 {
  40         return true;
  41 }
  42 #endif
  43 
  44 #endif

/* [<][>][^][v][top][bottom][index][help] */