首页 > 解决方案 > Linux中中毒页面有什么用,调用check_poison_mem后出现页面损坏错误是什么意思?

问题描述

我正在研究设备驱动程序系统,目前正在发生崩溃后进行一些日志分析。我在日志中发现以下错误。

损坏的页面:e5b06d60 pfn:0xc07eb 已中毒

还,

pagealloc:内存损坏

ffeddd90:80 80 80 80 80 80 80 .....

……

ffedde40: 80 80 80 80 80 80 80 .....

  1. 这是什么意思?什么是中毒,为什么要使用它?

  2. 当我跟踪调用跟踪时,它会一直追溯到一些内存分配 ioctl。为什么内存分配调用会一直滴到此错误消息?

  3. 如果被扫描的内存区域确实有 PAGE_POISON 以外的值,它怎么会发生呢?

  4. PAGE_POISON 在 Linux 内核 (4.1.10) 中定义为 0xaa。为什么我看到 80 ?'80'是内存损坏吗?

抱歉,如果这太琐碎了,我是 Linux 新手,我找不到简单的解释来解释中毒的必要性以及在这种情况下发生了什么。

标签: memory-managementlinux-kernellinux-device-driverembedded-linuxmemory-corruption

解决方案


推荐阅读