现在的位置: 首页 > 综合 > 正文

ARM汇编实战3: destory stack issue

2018年04月16日 ⁄ 综合 ⁄ 共 3727字 ⁄ 字号 评论关闭

<1>[ 2894.179063] [(2012-12-31 07:20:58.219291396 UTC)] Unable to handle kernel paging request at virtual address da922100
<1>[ 2894.179583] [(2012-12-31 07:20:58.219808063 UTC)] pgd = d8330000
<1>[ 2894.179889] [(2012-12-31 07:20:58.220114729 UTC)] [da922100] *pgd=00000000
<0>[ 2894.180258] [(2012-12-31 07:20:58.220481396 UTC)] Internal error: Oops: 80000005 [#1] PREEMPT SMP ARM
<4>[ 2894.180703] [(2012-12-31 07:20:58.220928063 UTC)] Modules linked in: sm_event_driver sm_event_log
<4>[ 2894.181169] [(2012-12-31 07:20:58.221393063 UTC)] CPU: 0 Not tainted (3.4.0 #1)
<4>[ 2894.183676] [(2012-12-31 07:20:58.223899729 UTC)] PC is at 0xda922100
<4>[ 2894.190121] [(2012-12-31 07:20:58.230344729 UTC)] LR is at msm_spm_drv_set_low_power_mode+0x44/0xa4
<4>[ 2894.199141] [(2012-12-31 07:20:58.239364729 UTC)] pc : [<da922100>] lr : [<c008559c>] psr: 60000193
<4>[ 2894.199193] [(2012-12-31 07:20:58.239416396 UTC)] sp : c088ff30 ip : 00000002 fp : 00000082
<4>[ 2894.217186] [(2012-12-31 07:20:58.257409729 UTC)] r10: 71bcd3dc r9 : 00000000 r8 : 005c6f2f
<4>[ 2894.225694] [(2012-12-31 07:20:58.265919728 UTC)] r7 : c088e000 r6 : 00000000 r5 : c0b657b0 r4 : 00000002
<4>[ 2894.235504] [(2012-12-31 07:20:58.275728062 UTC)] r3 : c0b657d8 r2 : 00000000 r1 : a0000193 r0 : 00000000
<4>[ 2894.245316] [(2012-12-31 07:20:58.285541395 UTC)] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
<4>[ 2894.255991] [(2012-12-31 07:20:58.296216395 UTC)] Control: 10c5387d Table: 285e404a DAC: 00000015


c0085558 <msm_spm_drv_set_low_power_mode>: 
c0085558:	e92d4070 push	{r4, r5, r6, lr} 
c008555c:	e2505000 subs	r5, r0, #0	; 0x0 
c0085560:	0a00001f beq	c00855e4 <msm_spm_drv_set_low_power_mode+0x8c> 
c0085564:	e595302c ldr	r3, [r5, #44] 
c0085568:	e201107f and	r1, r1, #127	; 0x7f 
c008556c:	e3c33e7f bic	r3, r3, #2032	; 0x7f0 
c0085570:	e1831201 orr	r1, r3, r1, lsl #4 
c0085574:	e585102c str	r1, [r5, #44] 
c0085578:	e3a01003 mov	r1, #3	; 0x3 
c008557c:	ebffff92 bl	c00853cc <msm_spm_drv_flush_shadow> 
c0085580:	f57ff04f dsb	sy 
c0085584:	e59f3060 ldr	r3, [pc, #96]	; c00855ec <msm_spm_drv_set_low_power_mode+0x94> 
c0085588:	e5933018 ldr	r3, [r3, #24] 
c008558c:	e3530000 cmp	r3, #0	; 0x0 
c0085590:	0a000000 beq	c0085598 <msm_spm_drv_set_low_power_mode+0x40> 
c0085594:	e12fff33 blx	r3 
c0085598:	ebfe6302 bl	c001e1a8 <write_to_strongly_ordered_memory> 
c008559c:	e59f304c ldr	r3, [pc, #76]	; c00855f0 <msm_spm_drv_set_low_power_mode+0x98> 
c00855a0:	e5930000 ldr	r0, [r3] 
c00855a4:	e2100001 ands	r0, r0, #1	; 0x1 
c00855a8:	08bd8070 popeq	{r4, r5, r6, pc} 
c00855ac:	e1a06005 mov	r6, r5 
c00855b0:	e3a04000 mov	r4, #0	; 0x0 
c00855b4:	e5953090 ldr	r3, [r5, #144] 
c00855b8:	e59f0034 ldr	r0, [pc, #52]	; c00855f4 <msm_spm_drv_set_low_power_mode+0x9c> 
c00855bc:	e59f1034 ldr	r1, [pc, #52]	; c00855f8 <msm_spm_drv_set_low_power_mode+0xa0> 
c00855c0:	e7932004 ldr	r2, [r3, r4] 
c00855c4:	e2844004 add	r4, r4, #4	; 0x4 
c00855c8:	e5963020 ldr	r3, [r6, #32] 
c00855cc:	e2866004 add	r6, r6, #4	; 0x4 
c00855d0:	eb14dd1c bl	c05bca48 <printk> 
c00855d4:	e354006c cmp	r4, #108	; 0x6c 
c00855d8:	1afffff5 bne	c00855b4 <msm_spm_drv_set_low_power_mode+0x5c> 
c00855dc:	e3a00000 mov	r0, #0	; 0x0 
c00855e0:	e8bd8070 pop	{r4, r5, r6, pc} 
c00855e4:	e3e00015 mvn	r0, #21	; 0x15 
c00855e8:	e8bd8070 pop	{r4, r5, r6, pc} 
c00855ec:	c08b4824 .word	0xc08b4824 
c00855f0:	c0b657d8 .word	0xc0b657d8 
c00855f4:	c074d187 .word	0xc074d187 
c00855f8:	c05d34c4 .word	0xc05d34c4 

c008559c: e59f304c ldr r3, [pc, #76] ; c00855f0 <msm_spm_drv_set_low_power_mode+0x98> 

after this code: r3 become 0xc0b657d8, it is right. 

SP: 0xc088feb0: 
feb0 00000002 c08be328 00000000 c05c7718 00000000 00000002 0003f557 0003f57d 
fed0 00000001 da922100 60000193 ffffffff c088ff1c c05c5bf8 00000000 a0000193 
fef0 00000000 c0b657d8 00000002 c0b657b0 00000000 c088e000 005c6f2f 00000000 
ff10 71bcd3dc 00000082 00000002 c088ff30 c008559c da922100 60000193 ffffffff 
ff30 15752a00 00000000 da71720a 000002a1 00000002 c05c76ac ffffffff 00000000 
ff50 00000002 c08e0208 00000000 c088e000 c0b66d34 c05d46f4 c08be30c 0020406a 
ff70 410fc051 00000000 c088ff8c c05c4214 c05c4f08 c08cae54 c088e000 c000f4e0 
ff90 c08b6128 04c4b402 c00e9c8c 00000000 c088ffb4 00000001 c0d690f4 c05a9710 

sp:c088ff30 
c00855e0: e8bd8070 pop {r4, r5, r6, pc} 

pc: da922100, till here panic. 

【上篇】
【下篇】

抱歉!评论已关闭.