Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051/* SPDX-License-Identifier: GPL-2.0 */#ifndef _LINUX_KASAN_CHECKS_H#define _LINUX_KASAN_CHECKS_H
#include <linux/types.h>
/* * The annotations present in this file are only relevant for the software * KASAN modes that rely on compiler instrumentation, and will be optimized * away for the hardware tag-based KASAN mode. Use kasan_check_byte() instead. */
/* * __kasan_check_*: Always available when KASAN is enabled. This may be used * even in compilation units that selectively disable KASAN, but must use KASAN * to validate access to an address. Never use these in header files! */#if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)bool __kasan_check_read(const volatile void *p, unsigned int size);bool __kasan_check_write(const volatile void *p, unsigned int size);#elsestatic inline bool __kasan_check_read(const volatile void *p, unsigned int size){ return true;}static inline bool __kasan_check_write(const volatile void *p, unsigned int size){ return true;}#endif
/* * kasan_check_*: Only available when the particular compilation unit has KASAN * instrumentation enabled. May be used in header files. */#ifdef __SANITIZE_ADDRESS__#define kasan_check_read __kasan_check_read#define kasan_check_write __kasan_check_write#elsestatic inline bool kasan_check_read(const volatile void *p, unsigned int size){ return true;}static inline bool kasan_check_write(const volatile void *p, unsigned int size){ return true;}#endif
#endif