一、linux内核、用户空间的内存划分:
如下图:内核空间划分0~3G为用户空间,3~4G为内核空间。详细请参考《Linux用户空间与内核空间》
注意:内核地址空间的范围是 0xC0000000 ~ 0xFFFFFFFF
1、Unable to handle kernel paging request at virtual address 00000000
=====》越出内核地址空间范围,原因是由于使用空NULL指针
2、Unable to handle kernel paging request at virtual address 20100110
=====》越出内核地址空间范围,原因是的内存越界导致该指针
所在内存被破坏了。 接下来的困难是在什么地方这个内存被修改?为什么被修改?
3、Unable to handle kernel paging request at virtual address c074838c
=====》没有越出内核地址空间范围,为什么也oops?
这种情况我称之为:试图篡改受限制内存。比如:声明为const的变量!
还有其它形式的受限制内存吗?
---------------------
作者:zerolity
来源:CSDN
原文:https://blog.csdn.net/zerolity/article/details/78110335
版权声明:本文为博主原创文章,转载请附上博文链接!
阅读(2078) | 评论(0) | 转发(0) |