• 2024-10-24KASan部署、使用与原理分析
    文章目录前言1、概述2、使用方法3、测试用例3.1、检测加载的内核模块3.2、检测调用的内核模块3.3、通过系统调用检测3.4、检测编译到Linux内核中的内核模块4、工作原理4.1、影子内存(ShadowMemory)4.2、内存状态(MemoryStates)4.3、红色区域(Redzones)4.4、KASan的实现5、
  • 2024-08-28KASAN 中kasan_multi_shot 的作用
    kasan_multi_shot是Linux内核配置选项之一,与KernelAddressSanitizer(KASAN)相关。KASAN是一种内核内存错误检测工具,能够检测内核代码中的各种内存错误,例如越界访问、使用未初始化的内存、双重释放等。默认情况下,KASAN在检测到内存错误后会触发内核panic并停止系统的
  • 2023-11-07kmemleak 和kasan 的区别
    kmemleak和kasan都是Linux内核中的一些工具和特性,用于帮助进行内存错误检测和修复。然而,它们之间有一些区别:功能:kmemleak用于检测内核中未释放的内存泄漏,它可以跟踪内核中分配的内存块,并在系统运行时检查未释放的内存。kasan(内核地址Sanitizer)是一个内存错误检测器,用于检测
  • 2023-04-20踩内存问题定位手段汇总
    最近项目中遇到一个全局变量被莫名修改的问题,代码排查了好久居然没发现,确实有些惭愧,这时候使用一些辅助工具帮助定位就很有必要也比较快速精准!全局变量被修改无非就三种原因:1、自己写的代码修改的;2、数组越界导致的;3、变量定义的时候没有初始化;排查手段:手段一:踩内存周边地址排
  • 2023-04-06Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)【转】
    转自:https://www.cnblogs.com/arnoldlu/p/8568090.htmlLinux常见的内存访问错误有:越界访问(outofbounds)访问已经释放的内存(useafterfree)重复释放内存泄露(memoryleak)栈溢出(stackoverflow)不同的工具有不同的侧重点,本章主要从slub_debug、kmemleak、kasan三
  • 2023-01-09kasan中地址计算的一点理解
    内核中利用kasan检查访问内存是否合法时需要将要访问的内存地址映射到shadow区中的对应位置,然后再判断在shadow区里存放的数值。下面是转换函数:staticinlinevoid*kasa
  • 2022-11-26linux配置开启KASAN功能
    【KASANlinux内存检测工具】 (本文档将引导编译一个开启kasan功能的内核)一简介: KernelAddressSanitizer缩写KASAN;是linux内核的动态内存检测工具, 主要检查