kasan-enabled.h 639 B

1234567891011121314151617181920212223242526272829303132333435
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _LINUX_KASAN_ENABLED_H
  3. #define _LINUX_KASAN_ENABLED_H
  4. #include <linux/static_key.h>
  5. #ifdef CONFIG_KASAN_HW_TAGS
  6. DECLARE_STATIC_KEY_FALSE(kasan_flag_enabled);
  7. static __always_inline bool kasan_enabled(void)
  8. {
  9. return static_branch_likely(&kasan_flag_enabled);
  10. }
  11. static inline bool kasan_hw_tags_enabled(void)
  12. {
  13. return kasan_enabled();
  14. }
  15. #else /* CONFIG_KASAN_HW_TAGS */
  16. static inline bool kasan_enabled(void)
  17. {
  18. return IS_ENABLED(CONFIG_KASAN);
  19. }
  20. static inline bool kasan_hw_tags_enabled(void)
  21. {
  22. return false;
  23. }
  24. #endif /* CONFIG_KASAN_HW_TAGS */
  25. #endif /* LINUX_KASAN_ENABLED_H */