首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux内核编程:"Unable to handle Kernel NULL pointer dereference“

Linux内核编程:"Unable to handle Kernel NULL pointer dereference“
EN

Stack Overflow用户
提问于 2008-12-04 17:25:09
回答 3查看 34.6K关注 0票数 6

我正在编写一个Linux模块,并获得:

代码语言:javascript
复制
Unable to handle kernel NULL pointer dereference

什么意思?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-12-04 17:28:36

听起来像是当前具有空值(零)的指针正在被取消引用。在取消引用指针之前,为指针分配一个地址。

例如:

代码语言:javascript
复制
int x = 5;
int * x_ptr = NULL;

x_ptr = &x; // this line may be missing in your code

*x_ptr += 5; //can't dereference x_ptr here if x_ptr is still NULL
票数 7
EN

Stack Overflow用户

发布于 2008-12-04 17:31:47

内核尝试从地址0中读取数据,而您的内核显然对其进行了特殊处理(好事情!)。由于内核没有办法像我们从用户模式应用程序中知道的那样直接杀死自己(那些应用程序会收到一个Segmentation Fault),所以这个错误是致命的。它可能已经panic'ed并向您显示了该消息。

http://en.wikipedia.org/wiki/Null_pointer#The_null_pointer

票数 4
EN

Stack Overflow用户

发布于 2008-12-04 18:12:27

这意味着内核试图遵守一个空指针。这会产生一个无法在内核中处理的页面错误-如果它正在运行一个用户任务(但在内核空间中),它通常会生成一个"Oops“,(不干净地)杀死当前任务,并可能泄漏内核资源。如果它在其他上下文中,例如中断,它通常会导致内核死机。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/341422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档