c).根据栈信息分析函数调用过程(作为模块 或者 编入内核都可,下面的实验是作为模块)
# ./firstdrvtest on
Unable to handle kernel paging request at virtual address 56000050
pgd = c3e78000
[56000050] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in: first_drv
CPU: 0 Not tainted (2.6.22.6 #48)
PC is at first_drv_open+0x18/0x3c [first_drv]
LR is at chrdev_open+0x14c/0x164
pc : [] lr : [] psr: a0000013
1 根据PC确定出错位置,是在内核,还是在模块中,前面有详细的分析System.map
bf000018 属于 insmod的模块
bf000000 t first_drv_open [first_drv]