ARM汇编实战2:内核模块函数

死机堆栈

Exception Class: Kernel (KE)
Current Executing Process:
[tx_thread, 12001][kthreadd, 2]
Backtrace:
[<c034eeb8>] emmc_ipanic+0x4c/0x46c
[<c0073490>] notifier_call_chain+0x64/0xdc
[<c0073738>] __atomic_notifier_call_chain+0x40/0x54
[<c007376c>] atomic_notifier_call_chain+0x20/0x28
[<c061fd10>] panic+0x7c/0x194
[<c0012250>] die+0x120/0x2a0
[<c061f9e4>] __do_kernel_fault.part.10+0x5c/0x7c
[<c0015aac>] do_page_fault+0x238/0x274
[<c0015c10>] do_translation_fault+0xa0/0xa8
[<c00083e0>] do_DataAbort+0x7c/0x100
[<c000df98>] __dabt_svc+0x38/0x60
[<bf169474>] wlanTxPendingPackets+0x48/0x128 [wlan_mt]
[<bf1909dc>] tx_thread+0x3c0/0x558 [wlan_mt]
[<c006da4c>] kthread+0x90/0x9c
[<c0055754>] do_exit+0x0/0x7f0
[<ffffffff>] 0xffffffff

Exception Detail Info:
<0>[15118.693621] (4)[12001:tx_thread]Internal error: Oops: 5 [#1] PREEMPT SMP ARM
<4>[15118.693644] (4)[12001:tx_thread]Modules linked in: wlan_mt bf165000  mtk_wmt_wifi_soc bf161000  mtk_fm_drv bf136000  mtk_stp_gps_soc bf129000  mtk_stp_bt_soc bf11c000  mtk_stp_wmt_soc bf095000  lowmemorydetect bf091000  ccci bf066000  ccci_plat bf032000  mali bf000000  [last unloaded: mtk_wmt_detect]
<4>[15118.693819] (4)[12001:tx_thread]CPU: 4    Tainted: G        W     (3.4.39 #1)
<4>[15118.693889] (4)[12001:tx_thread]PC is at qmDequeueTxPackets+0x160/0xc68 [wlan_mt]
<4>[15118.693952] (4)[12001:tx_thread]LR is at wlanTxPendingPackets+0x48/0x128 [wlan_mt]
<4>[15118.693974] (4)[12001:tx_thread]pc : [<bf185aec>]    lr : [<bf169474>]    psr: 60000093
<4>[15118.693979] (4)[12001:tx_thread]sp : c8d17eb8  ip : e3f8fb98  fp : c8d17f34
<4>[15118.694019] (4)[12001:tx_thread]r10: 00000001  r9 : 00000000  r8 : e3f8f134
<4>[15118.694037] (4)[12001:tx_thread]r7 : e3f8fc94  r6 : 00000002  r5 : 00000043  r4 : e3f634b0
<4>[15118.694060] (4)[12001:tx_thread]r3 : 00000000  r2 : 00000000  r1 : 00000003  r0 : 00000000
<4>[15118.694080] (4)[12001:tx_thread]Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
<4>[15118.694096] (4)[12001:tx_thread]Control: 10c5387d  Table: 9b98806a  DAC: 00000015

 

 

汇编代码

lumy1@xmws48:~/workspace/mickey/android/kernel/out/mediatek/kernel/drivers/conn_soc/drv_wlan/mt_wifi/wlan/nic$ ~/workspace/mt6592_dev/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-objdump -s -D que_mgt.o > que_mgt.asm

000007ac <qmDequeueTxPackets>:
     7ac: e1a0c00d mov ip, sp
     7b0: e92ddff0 push {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
     7b4: e24cb004 sub fp, ip, #4
     7b8: e24dd054 sub sp, sp, #84 ; 0x54
     7bc: e92d4000 push {lr}
     7c0: ebfffffe bl 0 <__gnu_mcount_nc>
     7c4: e3a0a000 mov sl, #0
     7c8: e30ccccd movw ip, #52429 ; 0xcccd
     7cc: e50ba038 str sl, [fp, #-56] ; 0x38
     7d0: e34ccccc movt ip, #52428 ; 0xcccc
     7d4: e281a004 add sl, r1, #4
     7d8: e50bc048 str ip, [fp, #-72] ; 0x48
     7dc: e3a07000 mov r7, #0
     7e0: e3a0c004 mov ip, #4
     7e4: e50b1074 str r1, [fp, #-116] ; 0x74
     7e8: e50ba064 str sl, [fp, #-100] ; 0x64
     7ec: e50b0040 str r0, [fp, #-64] ; 0x40
     7f0: e50b7058 str r7, [fp, #-88] ; 0x58
     7f4: e50bc060 str ip, [fp, #-96] ; 0x60
     7f8: e51bc064 ldr ip, [fp, #-100] ; 0x64
     7fc: e30c3b04 movw r3, #51972 ; 0xcb04
     800: e3403002 movt r3, #2
     804: e45ca001 ldrb sl, [ip], #-1
     808: e35a0000 cmp sl, #0
     80c: e50bc064 str ip, [fp, #-100] ; 0x64
     810: e50ba034 str sl, [fp, #-52] ; 0x34
     814: e5dca007 ldrb sl, [ip, #7]
     818: e51bc040 ldr ip, [fp, #-64] ; 0x40
     81c: e50ba05c str sl, [fp, #-92] ; 0x5c
     820: e79c9003 ldr r9, [ip, r3]
     824: 0a00011e beq ca4 <qmDequeueTxPackets+0x4f8>
     828: e51ba060 ldr sl, [fp, #-96] ; 0x60
     82c: e3a03001 mov r3, #1
     830: e3a05015 mov r5, #21
     834: e50b9044 str r9, [fp, #-68] ; 0x44
     838: e50b7054 str r7, [fp, #-84] ; 0x54
     83c: e1a07005 mov r7, r5
     840: e6efa07a uxtb sl, sl
     844: e50ba03c str sl, [fp, #-60] ; 0x3c
     848: e28ac03c add ip, sl, #60 ; 0x3c
     84c: e51ba040 ldr sl, [fp, #-64] ; 0x40
     850: e50bc068 str ip, [fp, #-104] ; 0x68
     854: e51bc03c ldr ip, [fp, #-60] ; 0x3c
     858: e28aabb3 add sl, sl, #183296 ; 0x2cc00
     85c: e50ba04c str sl, [fp, #-76] ; 0x4c
     860: e28ca040 add sl, ip, #64 ; 0x40
     864: e50ba050 str sl, [fp, #-80] ; 0x50
     868: e51ba068 ldr sl, [fp, #-104] ; 0x68
     86c: e1a03c13 lsl r3, r3, ip
     870: e51bc040 ldr ip, [fp, #-64] ; 0x40
     874: e50b306c str r3, [fp, #-108] ; 0x6c
     878: e08c810a add r8, ip, sl, lsl #2
     87c: e51bc04c ldr ip, [fp, #-76] ; 0x4c
     880: e3a0a000 mov sl, #0
     884: e2888bb3 add r8, r8, #183296 ; 0x2cc00
     888: e28ccf72 add ip, ip, #456 ; 0x1c8
     88c: e50bc04c str ip, [fp, #-76] ; 0x4c
     890: e50ba030 str sl, [fp, #-48] ; 0x30
     894: e2888f72 add r8, r8, #456 ; 0x1c8
     898: e1a0900a mov r9, sl
     89c: e51b5050 ldr r5, [fp, #-80] ; 0x50
     8a0: e51bc04c ldr ip, [fp, #-76] ; 0x4c
     8a4: ea00002c b 95c <qmDequeueTxPackets+0x1b0>
     8a8: e5d4301c ldrb r3, [r4, #28]
     8ac: e3a06f6e mov r6, #440 ; 0x1b8
     8b0: e51ba040 ldr sl, [fp, #-64] ; 0x40
     8b4: e026a396 mla r6, r6, r3, sl
     8b8: e286690b add r6, r6, #180224 ; 0x2c000
     8bc: e2866fcd add r6, r6, #820 ; 0x334
     8c0: e5d62011 ldrb r2, [r6, #17]
     8c4: e1520003 cmp r2, r3
     8c8: 0a000004 beq 8e0 <qmDequeueTxPackets+0x134>
     8cc: e3000000 movw r0, #0
     8d0: e3400000 movt r0, #0
     8d4: e5d03000 ldrb r3, [r0]
     8d8: e3530000 cmp r3, #0
     8dc: 0a00016e beq e9c <qmDequeueTxPackets+0x6f0>
     8e0: e51b103c ldr r1, [fp, #-60] ; 0x3c
     8e4: e5d49065 ldrb r9, [r4, #101] ; 0x65
     8e8: e251a004 subs sl, r1, #4
     8ec: 13a0a001 movne sl, #1
     8f0: e3590000 cmp r9, #0
     8f4: 03a09000 moveq r9, #0
     8f8: 120a9001 andne r9, sl, #1
     8fc: e3590000 cmp r9, #0
     900: 1a00009b bne b74 <qmDequeueTxPackets+0x3c8>
     904: e51b205c ldr r2, [fp, #-92] ; 0x5c
     908: e50b2030 str r2, [fp, #-48] ; 0x30
     90c: e5d63083 ldrb r3, [r6, #131] ; 0x83
     910: e3530000 cmp r3, #0
     914: 03a0a000 moveq sl, #0
     918: 120aa001 andne sl, sl, #1
     91c: e35a0000 cmp sl, #0
     920: 0a000007 beq 944 <qmDequeueTxPackets+0x198>
     924: e5963008 ldr r3, [r6, #8]
     928: e3530002 cmp r3, #2
     92c: 0a000162 beq ebc <qmDequeueTxPackets+0x710>
     930: e51ba030 ldr sl, [fp, #-48] ; 0x30
     934: e5d631b4 ldrb r3, [r6, #436] ; 0x1b4
     938: e15a0003 cmp sl, r3
     93c: 21a0a003 movcs sl, r3
     940: e50ba030 str sl, [fp, #-48] ; 0x30
     944: e5983000 ldr r3, [r8]
     948: e51ba030 ldr sl, [fp, #-48] ; 0x30
     94c: e153000a cmp r3, sl
     950: 3a000019 bcc 9bc <qmDequeueTxPackets+0x210>
     954: e2577001 subs r7, r7, #1
     958: 0a000017 beq 9bc <qmDequeueTxPackets+0x210>
     95c: e28c3004 add r3, ip, #4
     960: e51ba040 ldr sl, [fp, #-64] ; 0x40
     964: e3a04e25 mov r4, #592 ; 0x250
     968: e7933105 ldr r3, [r3, r5, lsl #2]
     96c: e024a394 mla r4, r4, r3, sl
     970: e2944e4b adds r4, r4, #1200 ; 0x4b0
     974: 0a00009c beq bec <qmDequeueTxPackets+0x440>
     978: e5d431ec ldrb r3, [r4, #492] ; 0x1ec
     97c: e3530000 cmp r3, #0
     980: 1affffc8 bne 8a8 <qmDequeueTxPackets+0xfc>
     984: e28c2004 add r2, ip, #4
     988: e51ba048 ldr sl, [fp, #-72] ; 0x48
     98c: e2577001 subs r7, r7, #1
     990: e1a04003 mov r4, r3
     994: e7921105 ldr r1, [r2, r5, lsl #2]
     998: e1a06003 mov r6, r3
     99c: e2811001 add r1, r1, #1
     9a0: e080a19a umull sl, r0, sl, r1
     9a4: e1a00220 lsr r0, r0, #4
     9a8: e0800100 add r0, r0, r0, lsl #2
     9ac: e0410100 sub r0, r1, r0, lsl #2
     9b0: e7820105 str r0, [r2, r5, lsl #2]
     9b4: e5883000 str r3, [r8]
     9b8: 1affffe7 bne 95c <qmDequeueTxPackets+0x1b0>
     9bc: e3540000 cmp r4, #0
     9c0: e1a0c009 mov ip, r9
     9c4: e51b7054 ldr r7, [fp, #-84] ; 0x54
     9c8: 0a0000b5 beq ca4 <qmDequeueTxPackets+0x4f8>
     9cc: e51ba03c ldr sl, [fp, #-60] ; 0x3c
     9d0: e1a0300c mov r3, ip
     9d4: e51b0068 ldr r0, [fp, #-104] ; 0x68
     9d8: e1a0c006 mov ip, r6
     9dc: e3a02000 mov r2, #0
     9e0: e1a06003 mov r6, r3
     9e4: e1a0a08a lsl sl, sl, #1
     9e8: e50ba044 str sl, [fp, #-68] ; 0x44
     9ec: e51ba040 ldr sl, [fp, #-64] ; 0x40
     9f0: e08a9100 add r9, sl, r0, lsl #2
     9f4: e51ba044 ldr sl, [fp, #-68] ; 0x44
     9f8: e51b003c ldr r0, [fp, #-60] ; 0x3c
     9fc: e2899bb3 add r9, r9, #183296 ; 0x2cc00
     a00: e2899f72 add r9, r9, #456 ; 0x1c8
     a04: e08a8000 add r8, sl, r0
     a08: e51ba034 ldr sl, [fp, #-52] ; 0x34
     a0c: e1a05000 mov r5, r0
     a10: e50b4034 str r4, [fp, #-52] ; 0x34
     a14: e0848108 add r8, r4, r8, lsl #2
     a18: e2888e1f add r8, r8, #496 ; 0x1f0
     a1c: ea000032 b aec <qmDequeueTxPackets+0x340>
     a20: e5983000 ldr r3, [r8]
     a24: e3a01000 mov r1, #0
     a28: e51b0034 ldr r0, [fp, #-52] ; 0x34
     a2c: e24aa001 sub sl, sl, #1
     a30: e3530000 cmp r3, #0
     a34: e5841000 str r1, [r4]
     a38: e51b2038 ldr r2, [fp, #-56] ; 0x38
     a3c: 13a03003 movne r3, #3
     a40: 15c4301c strbne r3, [r4, #28]
     a44: e3570000 cmp r7, #0
     a48: 15874000 strne r4, [r7]
     a4c: e5993000 ldr r3, [r9]
     a50: e2822001 add r2, r2, #1
     a54: 050b4058 streq r4, [fp, #-88] ; 0x58
     a58: e2557004 subs r7, r5, #4
     a5c: e2833001 add r3, r3, #1
     a60:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值