Unable to handle kernel NULL pointer dereference at virtual address 00000031
2015-09-22 17:02
801 查看
问题现象:
Unable to handle kernel NULL pointer dereference at virtual address 00000031
[ 1051.163916] pgd = d6278000
[ 1051.166541] [00000031] *pgd=5629b831, *pte=00000000, *ppte=00000000
[ 1051.172742] Internal error: Oops: 17 [#6] PREEMPT SMP
[ 1051.177763] Modules linked in: led(P) [last unloaded: led]
[ 1051.183242] CPU: 0 Tainted: P D (3.0.15 #4)
[ 1051.188562] PC is at do_sys_open+0xec/0x1a4
[ 1051.192718] LR is at path_openat+0xfc/0x3c4
[ 1051.196877] pc : [<c010ebac>] lr : [<c011ef80>] psr: 00000053
[ 1051.196897] sp : d6087f58 ip : d6087e60 fp : d6087f94
[ 1051.208322] r10: 00000000 r9 : d6086000 r8 : 00000001
[ 1051.213533] r7 : ffffff9c r6 : 00000003 r5 : 00000025 r4 : d6691000
[ 1051.220040] r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000025
[ 1051.226557] Flags: nzcv IRQs on FIQs off Mode SVC_32 ISA ARM Segment user
[ 1051.233758] Control: 10c5387d Table: 5627804a DAC: 00000015
问题关键:
int led_open(struct inode *node, struct file *filp){
led_config = ioremap(GPL2CON, 4);
writel(0x00000001, led_config);
led_data = ioremap(GPL2DAT, 4);
printk("puzzle is so fun!\n");
printk("因为没有return 0,所以产生NULL pointer\n");
//return 0;
}
Unable to handle kernel NULL pointer dereference at virtual address 00000031
[ 1051.163916] pgd = d6278000
[ 1051.166541] [00000031] *pgd=5629b831, *pte=00000000, *ppte=00000000
[ 1051.172742] Internal error: Oops: 17 [#6] PREEMPT SMP
[ 1051.177763] Modules linked in: led(P) [last unloaded: led]
[ 1051.183242] CPU: 0 Tainted: P D (3.0.15 #4)
[ 1051.188562] PC is at do_sys_open+0xec/0x1a4
[ 1051.192718] LR is at path_openat+0xfc/0x3c4
[ 1051.196877] pc : [<c010ebac>] lr : [<c011ef80>] psr: 00000053
[ 1051.196897] sp : d6087f58 ip : d6087e60 fp : d6087f94
[ 1051.208322] r10: 00000000 r9 : d6086000 r8 : 00000001
[ 1051.213533] r7 : ffffff9c r6 : 00000003 r5 : 00000025 r4 : d6691000
[ 1051.220040] r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000025
[ 1051.226557] Flags: nzcv IRQs on FIQs off Mode SVC_32 ISA ARM Segment user
[ 1051.233758] Control: 10c5387d Table: 5627804a DAC: 00000015
问题关键:
int led_open(struct inode *node, struct file *filp){
led_config = ioremap(GPL2CON, 4);
writel(0x00000001, led_config);
led_data = ioremap(GPL2DAT, 4);
printk("puzzle is so fun!\n");
printk("因为没有return 0,所以产生NULL pointer\n");
//return 0;
}
相关文章推荐
- js如何终止程序
- Angularjs MVC 以及 $scope 作用域 Angularjs 模块 的 run 方法 以及依赖注入中代码压缩问题
- JS高级程序设计读书笔记(第七章)
- knockoutJS学习笔记05:控制文本和外观绑定
- 无限滚动js
- ButterKnife的源码解析(2)
- MyEclipse修改默认的Servlet和jsp代码内容
- 限制内容长度(CSS,jQuery)
- JS实现鼠标双击页面向下滚动,单击停止的特效
- [读书笔记-GPU GEMS C1] Effective Water Simulation from Physical Models
- NodeJS + PhantomJS 抓取页面信息以及截图
- Jquery控制文字横向移动
- 《学习日记》jquery/2015/9/22
- nodejs异步代码变量解决方案
- The entity name must immediately follow the '&' in the entity reference
- 什么是 Angularjs
- jQuery过滤性选择器
- wpf动态设置控件样式
- jQuery 基础选择器
- Json解析 Json数据文件 例子