1,Poison overwritten
2,具体backtrace的分析
1. 11, pgd = c39d8000
2. [00000000] *pgd=339cf031, *pte=00000000, *ppte=00000000
3. Internal error: Oops: 817 [#1]
4. last sysfs file: /sys/devices/platform/soc-audio/sound/card0/mixer/dev
5. Modules linked in: oops(+)
6. CPU: 0 Not tainted (2.6.32.2-GQ2440 #18)
7. PC is at func_D+0x1c/0x28 [oops]
8. LR is at release_console_sem+0x1bc/0x214
9. pc : [<bf000038>] lr : [<c004b7a4>] psr: 60000013
10. sp : c39d5ee0 ip : c39d5e10 fp : c39d5eec
11. r10: 00000000 r9 : c05096cc r8 : bf0000a4
12. r7 : c39d4000 r6 : 001dbfd8 r5 : bf000134 r4 : 000009c9
13. r3 : 00000000 r2 : 0000000b r1 : 00004e5e r0 : 0000000e
14. Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
15. Control: c000717f Table: 339d8000 DAC: 00000015
16. Process insmod (pid: 716, stack limit = 0xc39d4270)
17. Stack: (0xc39d5ee0 to 0xc39d6000)
27. Backtrace:
28. [<bf00001c>] (func_D+0x0/0x28 [oops]) from [<bf00005c>] (func_C+0x18/0x20 [oops])
29. [<bf000044>] (func_C+0x0/0x20 [oops]) from [<bf00007c>] (func_B+0x18/0x20 [oops])
30. [<bf000064>] (func_B+0x0/0x20 [oops]) from [<bf00009c>] (func_A+0x18/0x20 [oops])
31. [<bf000084>] (func_A+0x0/0x20 [oops]) from [<bf0000bc>] (init_module+0x18/0x24 [oops])
32. [<bf0000a4>] (init_module+0x0/0x24 [oops]) from [<c003132c>] (do_one_initcall+0x3c/0x1d0)
33. [<c00312f0>] (do_one_initcall+0x0/0x1d0) from [<c0070f24>] (sys_init_module+0xcc/0x200)
34. [<c0070e58>] (sys_init_module+0x0/0x200) from [<c0031ec0>] (ret_fast_syscall+0x0/0x28)
35. r7:00000080 r6:00000000 r5:bec59e68 r4:00000000
36. Code: e59f0010 eb412fb6 e3a0200b e3a03000 (e5832000)
37. ---[ end trace 4e70d5baadf4ccd0 ]---
Code中的最后括号括起来的表示的是发生异常的时候最后一个机器码
arm-linux-objdump -D -S oops.ko >log
Many times one Oops will trigger multiple Oopses. When debugging multiple Oops reports, be sure to start with the very first one. Internal error: Oops: 96000047 [#1]
3,
[ 467.071025] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
SVC_32表示的是内核空间发生错误。