memory-management - Linux中中毒页面有什么用,调用check_poison_mem后出现页面损坏错误是什么意思?
问题描述
我正在研究设备驱动程序系统,目前正在发生崩溃后进行一些日志分析。我在日志中发现以下错误。
损坏的页面:e5b06d60 pfn:0xc07eb 已中毒
还,
pagealloc:内存损坏
ffeddd90:80 80 80 80 80 80 80 .....
……
ffedde40: 80 80 80 80 80 80 80 .....
这是什么意思?什么是中毒,为什么要使用它?
当我跟踪调用跟踪时,它会一直追溯到一些内存分配 ioctl。为什么内存分配调用会一直滴到此错误消息?
如果被扫描的内存区域确实有 PAGE_POISON 以外的值,它怎么会发生呢?
PAGE_POISON 在 Linux 内核 (4.1.10) 中定义为 0xaa。为什么我看到 80 ?'80'是内存损坏吗?
抱歉,如果这太琐碎了,我是 Linux 新手,我找不到简单的解释来解释中毒的必要性以及在这种情况下发生了什么。
解决方案
推荐阅读
- html - 右对齐 HTML 电子邮件
- ethereum - 松露测试:提供“结构”类型的方法参数?
- python - 使用规则列表插入分隔符
- json - Angular Material Nested 从服务中选择
- google-api - 获取 google 评论并创建与 Google API 一起使用的评论表单
- neo4j - 使用 SpringDataNeo4j 按动态标签查找
- apache-pulsar - 在 Pulsar 中,有没有办法清理没有附加消费者的旧的持久订阅?
- javascript - 切换暂停模型查看器动画
- c# - 尝试使用 Identity.UserManager 确认电子邮件时出错
- javascript - 单击上一页上的按钮后,在重定向页面上选择某个单选按钮