lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <19f34abd0808121346w60f37ac0mf8e4ed20549af0e1@mail.gmail.com>
Date:	Tue, 12 Aug 2008 22:46:21 +0200
From:	"Vegard Nossum" <vegard.nossum@...il.com>
To:	"Alexey Dobriyan" <adobriyan@...il.com>
Cc:	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: latest -git: kernel hangs when pulling the plug on 8139too

On Tue, Aug 12, 2008 at 9:02 PM, Vegard Nossum <vegard.nossum@...il.com> wrote:
> On Tue, Aug 12, 2008 at 7:20 PM, Vegard Nossum <vegard.nossum@...il.com> wrote:
>> ...but after pulling the cable and seeing the keyboard blink for five
>> seconds, the CPU resets without running the new kernel (i.e. it
>> reboots and I see the BIOS messages, etc.).
>>
>> Maybe I did something wrong? (Though I don't think so.)
>>
>> I will try to replace some printk()s to early_printk() (allows me to
>> maybe capture some messages on ttyS0 without trying to send anything
>> over netconsole).
>
> It turns out that we're not getting as far as the "panic:" line in panic().

Actually, I just forgot earlyprintk=...,keep.

Now I modified the printk() to use early_printk() if oops_in_progress is set.

This does actually give some result, but again the text is garbled,
this time for real, and I don't understand why.

But this is what I get on the serial console:

<0>BUG: NMI Watchdog detected LOCKUP on CPU1, ip c010ae8c, registers:
Pid: 0, comm: swapper Not tainted (2.6.27-rc2-00325-g796aade-dirty #3)
EIP: 0060:[<c010ae8c>] EFLAGS: 00000246 CPU: 1
EIP is at mwait_idle+0x3c/0x50
EAX: 00000000 EBX: f7894008 ECX: 00000000 EDX: 00000000
ESI: 00000001 EDI: c081ec00 EBP: f7895f7c ESP: f7895f78
 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
<0>Process swapper (pid: 0, ti=f7894000 task=f7898000 task.ti=f7894000)
<0>Stack: c1fb1c00 f7895f94 c010285c c07d0020 c1f63020 00000001
00000000 f7895fb4
<0>       c058b859 00000000 00000000 00000000 00000000 01020800
00000000 00000000
<0>       00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
<0>Call Trace:
<0> [<c010285c>] ? cpu_idle+0x6c/0x120
<0> [<c058b859>] ? start_secondary+0x169/0x1d0
<0> =======================
<0>Code: 08 75 2b 31 c9 89 d8 89 ca 0f 01 c8 0f ae f0 66 90 89 e0 25
00 e0 ff ff f6 40 08 08 75 10 e8 dc db 04 00 31 c9 89 c8 fb
0f 01 c9 <5b> 5d c3 e8 cc db 04 00 fb 0f 1f 84 00 00 00 00 00 90 eb ec 55
<0>KUG: N panatchdnot stected: AieUP kilCPU0,intec0upt 1andlegis
<4>---
Pid: --[ cmm: sre ]-r Not----nted<42.6.2INGc2-00/uio/796aaedesirty #ega
dnP: 0t-wo[<c02/lin8>] .6/keS: 0/smp.96 CPUsmp_calP isnction_ay_ts0x1398/0xb0()
AP: : 0,0006 : swaf796bNot taX: c0 2.6.2 EDc2-0001000796aSI: 03rty aa
ED[<c000000f>] Barn_o775cow ESP:0x4f70x80
 [<c0007b a>] ?0__pri: 00ymbGS+0x000 S4: 0 [<c0<3610ocess swaintk+0pid: 0x ti=
07740135d8sk= 06vpre0 t+0x2di=c077
00<c010>Sta>k: 0n0000e0 che75ca4ck+08a0b9xc077
cdc c12998d>] ? 1fb4ntk+05aeb0x3e0
 [c
150>  >]   p0775ccfunc15623bask+00001/0x1d8ab0[<c0018060b25d8sb0
f796s_cpuf796b0x50
<0>  58b8 000 00s6 rt_75cfndar5916b69/00000
0 000010ae 0>] b 55 f6s_acti f796b/0x2
 [Call 5d8de:
<0> [<ck+0x2b9>] ?0__de<c010x9/5>] ?
prin[<c0ace_a9>] ? +0x4_spin_
 [<0xb9/859>]
 0tart_0156ndb>] 0xtrac0x1d0dirq<c01f+0x0>] 10sto0> [<s_cpu6b6>/0x5_sp
[<cock_12qs] e+p_call_function[<c035bx60>] [<r010a39_star
_xmit_id65/0x1c/0x50> [<<c011255>>]  atl8139_p_set_xmitp+0x5/0x130
 [<c[<c04cc>] >  wanttpoll+0x3d_skb00x1[<c011a032>]>pani04cx62/0] ?
t[<c01sendc>] +0mwab/0xdle+0x0> [<50
c7<c0138aw2>] do_exix8c/0e2/0x<80 [ [<c05883>]>]
__shll_cogiolers+0vers+0x30/0x6<c020> [4>] 3 do_u]
la_cascreensole4/0x1ers+ [<c/
0x9dd9<0>  <c0_35a25xb9/ xf0
s[<c01sole_>] + xc5/0_idl
<0> /0x00
f0b>]10avpc>] k 0x1ib/0x3e+0x30> [<c
5 [<c01] e0_>] n_e_nmik_irf/0xfore+[<c010x70
]0> mwc0146dle+0 ? /0x50
_woc011x31/0] 0mi<0> [hdo1461e5+0x? 5/0ue_wo
 [<c45/0217>]<do_n<c01x97/0>] ? q [<e_dela03>]wnmi_stack_c0
rect [<c050x2b
>] ? 0spin_b>] c _iratestorl_ti43/0x36b/0x> [<c [<c0d1>]8c>s hemwae_delaeed_3c/0+0x1
/0x20
028> [<ccp3615le+ x6prix1200
 [<0x20
8<0> [scart9736>ndarmiix169ck_me0ia+===96/0==e0=
<0> [<====
27b>---[_end tlock+03bf506b02770> [ ]035
7<4>- ? --l_ch--[ cedia+re ]-0x30----> [<c035a0RNING?
atl8139/arkirrups/s292a/0x4dno
<it-wor01716linux? .6/dle_Il/smpent+06 smp_70ll_f> [<con_sinb>] 0 10a/le_f0()
iiirq+, com0xe0
<0>r Tai107128G       IR 2.648/0xc2-0<0> [g7968a604dirt
#3ce_hac0135s_of] thunkon_s/0x18
h+0> [<cx804a c>] ?6c14a>]_in__rrupt_sy28/0x0x2a/0> [<
0150013610? ] ? vpriall_ti3e+00x3e/0x7d<c013> [<c] 0av8c>] k+mwai/0x3ee+
 [c/0x500e5>> [<nat0285sched clo_k+0x+0x6c110120[
c0> ef9a>6bsmp>] llrfunctnit_sing/0x701
a0> ===
==<c01======= ? =top_thiode: +0x09 x50
 f0 815f0c2b  d pc all_d e8 7on_mab8 01 2d/00 50
8 <a 56 e6 >] ?9st0 25his_cp ff ff f50
 08c05875 17] ? s4 0c_secon <5f> xd c3 e1d00
4d 30 00 a0 a9 29 rd e8activc ff f0x20 8 [<c000
<>] ? vprintnic 2d/0t syncing:01051f kil? ng nt_trrupt
hdreser!x4</0x5----[<c05-[ c9>] ?rstart----onda--+0<4>9/0xING:
a[<c011/arkim desto29/vis_cdno/x0/0xorkin[<c01ux-2.6]
ern_callp.c:29ion+0_30/0_fun
tion010ae8cx13e 0x1it_id
e+0: 0,0x50
 [<c0per 5e>]tnatiG   mp_seW 2.top+0x12-00705-g7<c010e-di>] ?#mwa
[<cdle+53f>]0war
_ [<clowp432>]xpan0x80
2[<c016
4a<c01 ae8cint_ ymbol_idla/0x40/0 [<c
135d8138a02>] intexit2d/0x2/0x8 [<c0[<c010>] c>] ristk+0regisx3e0
0 [<c0x230
e>] cmp_caa4>] n tiounblank_scre/0x1x24/ [<c0
80<c010? d9>p_this_cpmi+0x/0x5xf0
[<c05010a2>] ] ? st_it_id0x62x3c70
0
 [<c022c>8c>]d? ay_tt_idlec/03b/0x [<c0[<c08d>] f>] rie_nmi+2d/0x0xf0
 [<c0010ae5>]    rintt_iale+0x3ress50
45[<c01
 05>05nmi_2>] ? og_t_initx1d5//0x70
 [<c0116217>] dostoi+0x97_cpu+0
0/0xc059 [<c015f120stasm_corre_funxti/0x2b3
/0xc0
007c028a 18>] e wally_tsc+0x36/0xb8d
 [ [<c0815e>c>nat ve_st_idln+0x3op+050
/0x<c010[<cc28 218>idled0x6c/tsc+0
8/0c058b [<c] 3543t_sepondc+0x62169120
 [< ===a218>====delay_t====x
<4>--8
 endc0138e 33b 576exit+932f2/0x-80
0>Reb01054g in 3  sec_regi.ters+0x7c/0x230
 [<c02ecfa4>] ? do_unblank_screen+0x24/0x130
 [<c0105dd9>] ? die_nmi+0xb9/0xf0
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c0105e0f>] die_nmi+0xef/0xf0
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c0119b05>] nmi_watchdog_tick+0x1d5/0x1e0
 [<c0106217>] do_nmi+0x97/0x2d0
 [<c0591f03>] nmi_stack_correct+0x26/0x2b
 [<c028007b>] ? as_remove_queued_request+0x9b/0xb0
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c028a0b9>] __delay+0x9/0x10
 [<c0299579>] _raw_spin_lock+0xb9/0x140
 [<c015623b>] ? trace_hardirqs_off+0xb/0x10
 [<c05916b6>] _spin_lock_irqsave+0x76/0x90
 [<c035b255>] ? rtl8139_start_xmit+0x65/0x130
 [<c035b255>] rtl8139_start_xmit+0x65/0x130
 [<c04c5e28>] netpoll_send_skb+0x158/0x1a0
 [<c04c62fb>] netpoll_send_udp+0x1db/0x1f0
 [<c037c70c>] write_msg+0x8c/0xc0
 [<c0135883>] __call_console_drivers+0x53/0x60
 [<c01358db>] _call_console_drivers+0x4b/0x90
 [<c0135a25>] release_console_sem+0xc5/0x1f0
 [<c0135f0b>] vprintk+0x1ab/0x3e0
 [<c0591acc>] ? _spin_unlock_irqrestore+0x6c/0x70
 [<c01460e1>] ? __queue_work+0x31/0x40
 [<c01461e5>] ? queue_work+0x45/0x50
 [<c014629f>] ? queue_delayed_work+0xf/0x30
 [<c0591aa3>] ? _spin_unlock_irqrestore+0x43/0x70
 [<c01462d1>] ? schedule_delayed_work+0x11/0x20
 [<c013615b>] printk+0x1b/0x20
 [<c0349736>] mii_check_media+0x196/0x1e0
 [<c059127b>] ? _spin_lock+0x5b/0x70
 [<c03597f4>] rtl_check_media+0x24/0x30
 [<c035a0ea>] rtl8139_interrupt+0x42a/0x4a0
 [<c01716d8>] handle_IRQ_event+0x28/0x70
 [<c0172d9b>] handle_fasteoi_irq+0x6b/0xe0
 [<c0107128>] do_IRQ+0x48/0xa0
 [<c028a604>] ? trace_hardirqs_off_thunk+0xc/0x18
 [<c0104a5c>] common_interrupt+0x28/0x30
 [<c015007b>] ? update_wall_time+0x36b/0x7d0
 [<c010ae8c>] ? mwait_idle+0x3c/0x50
 [<c010285c>] cpu_idle+0x6c/0x120
 [<c056bb32>] rest_init+0x62/0x70
 =======================
<4>---[ end trace 33bf576b6277932f ]---
<4>------------[ cut here ]------------
<4>WARNING: at /uio/arkimedes/s29/vegardno/git-working/linux-2.6/kernel/smp.c:216
smp_call_function_single+0x10a/0x110()
Pid: 0, comm: swapper Tainted: G        W 2.6.27-rc2-00325-g796aade-dirty #3
 [<c013553f>] warn_on_slowpath+0x4f/0x80
 [<c016014a>] ? __print_symbol+0x2a/0x40
 [<c0135d8d>] ? vprintk+0x2d/0x3e0
 [<c015ef9a>] smp_call_function_single+0x10a/0x110
 [<c0118060>] ? stop_this_cpu+0x0/0x50
 [<c015f0cd>] smp_call_function_mask+0x12d/0x150
 [<c0118060>] ? stop_this_cpu+0x0/0x50
 [<c056bb32>] ? rest_init+0x62/0x70
 [<c028a22c>] ? delay_tsc+0xac/0xb8
 [<c0135d8d>] ? vprintk+0x2d/0x3e0
 [<c01051f5>] ? print_trace_address+0x45/0x50
 [<c056bb32>] ? rest_init+0x62/0x70
 [<c0118060>] ? stop_this_cpu+0x0/0x50
 [<c015f120>] smp_call_function+0x30/0x60
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c011815e>] native_smp_send_stop+0x1e/0x70
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c0135432>] panic+0x62/0x120
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c0138a02>] do_exit+0x7e2/0x880
 [<c01054bc>] ? show_registers+0x7c/0x230
 [<c02ecfa4>] ? do_unblank_screen+0x24/0x130
 [<c0105dd9>] ? die_nmi+0xb9/0xf0
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c0105e0f>] die_nmi+0xef/0xf0
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c0119b05>] nmi_watchdog_tick+0x1d5/0x1e0
 [<c0106217>] do_nmi+0x97/0x2d0
 [<c0591f03>] nmi_stack_correct+0x26/0x2b
 [<c028007b>] ? as_remove_queued_request+0x9b/0xb0
 [<c028a218>] ? delay_tsc+0x98/0xb8
 [<c028a0b9>] __delay+0x9/0x10
 [<c0299579>] _raw_spin_lock+0xb9/0x140
 [<c015623b>] ? trace_hardirqs_off+0xb/0x10
 [<c05916b6>] _spin_lock_irqsave+0x76/0x90
 [<c035b255>] ? rtl8139_start_xmit+0x65/0x130
 [<c035b255>] rtl8139_start_xmit+0x65/0x130
 [<c04c5e28>] netpoll_send_skb+0x158/0x1a0
 [<c04c62fb>] netpoll_send_udp+0x1db/0x1f0
 [<c037c70c>] write_msg+0x8c/0xc0
 [<c0135883>] __call_console_drivers+0x53/0x60
 [<c01358db>] _call_console_drivers+0x4b/0x90
 [<c0135a25>] release_console_sem+0xc5/0x1f0
 [<c0135f0b>] vprintk+0x1ab/0x3e0
 [<c0591acc>] ? _spin_unlock_irqrestore+0x6c/0x70
 [<c01460e1>] ? __queue_work+0x31/0x40
 [<c01461e5>] ? queue_work+0x45/0x50
 [<c014629f>] ? queue_delayed_work+0xf/0x30
 [<c0591aa3>] ? _spin_unlock_irqrestore+0x43/0x70
 [<c01462d1>] ? schedule_delayed_work+0x11/0x20
 [<c013615b>] printk+0x1b/0x20
 [<c0349736>] mii_check_media+0x196/0x1e0
 [<c059127b>] ? _spin_lock+0x5b/0x70
 [<c03597f4>] rtl_check_media+0x24/0x30
 [<c035a0ea>] rtl8139_interrupt+0x42a/0x4a0
 [<c01716d8>] handle_IRQ_event+0x28/0x70
 [<c0172d9b>] handle_fasteoi_irq+0x6b/0xe0
 [<c0107128>] do_IRQ+0x48/0xa0
 [<c028a604>] ? trace_hardirqs_off_thunk+0xc/0x18
 [<c0104a5c>] common_interrupt+0x28/0x30
 [<c015007b>] ? update_wall_time+0x36b/0x7d0
 [<c010ae8c>] ? mwait_idle+0x3c/0x50
 [<c010285c>] cpu_idle+0x6c/0x120
 [<c056bb32>] rest_init+0x62/0x70
 =======================
<4>---[ end trace 33bf576b6277932f ]---

...this seems to contain at least a little bit of useful information.

Looks to me like it's quite simply a recursive printk. I don't
understand why the printk code doesn't catch this, though.

Any ideas?


Vegard

-- 
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
	-- E. W. Dijkstra, EWD1036
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ