当前位置:   article > 正文

Linux内核内存检测工具KASAN_config_kasan

config_kasan

KASAN ['kæzən]

KASAN 是 Kernel Address Sanitizer 的缩写,它是一个动态检测内存错误的工具,主要功能是检查内存越界访问和使用已释放的内存等问题。KASAN 集成在 Linux 内核中,随 Linux 内核代码一起发布,并由内核社区维护和发展。本文简要介绍 KASAN 的原理及使用方法。

1. 如何打开KASAN功能

Kernel defconfig增加如下配置:

CONFIG_SLUB_DEBUG=y

CONFIG_SLUB_DEBUG_ON=y

CONFIG_KASAN =y

CONFIG_KASAN_INLINE=y

由于1/8的内存用于shadow memory,可用内存会减少1/8,例如8GB的内存,打开KASAN后,MemTotal约为6.72GB。

#ifdef CONFIG_KASAN
#define KASAN_SHADOW_SIZE    (UL(1) << (VA_BITS - 3))
#define KASAN_THREAD_SHIFT    1
#else
#define KASAN_SHADOW_SIZE    (0)
#define KASAN_THREAD_SHIFT    0
#endif

C:Users>adb shell "cat /proc/meminfo | grep MemTotal"
MemTotal:        6723572 kB

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号