From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kristof Provost Subject: [BUG] IPv6 recursive locking Date: Sun, 17 Feb 2008 14:12:29 +0000 Message-ID: <20080217141229.GB1677@nereid> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; x-action=pgp-signed To: netdev@vger.kernel.org Return-path: Received: from rhineheart.priorweb.be ([213.193.229.215]:38384 "HELO rhineheart.priorweb.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1755675AbYBQOTN (ORCPT ); Sun, 17 Feb 2008 09:19:13 -0500 Received: from triton.sigsegv.be (d54C44110.access.telenet.be [84.196.65.16]) by rhineheart.priorweb.be (Postfix) with ESMTP for ; Sun, 17 Feb 2008 15:12:29 +0100 (CET) Received: from nereid (nereid.rfc1149.be [172.16.0.8]) by triton.sigsegv.be (Postfix) with SMTP id 1D1E71D9FC for ; Sun, 17 Feb 2008 14:12:29 +0000 (UTC) Content-Disposition: inline Sender: netdev-owner@vger.kernel.org List-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I'm running the current git (1309d4e68497184d2fd87e892ddf14076c2bda98) without problems. While I was toying with IPv6 on my local network I managed to completely hang my machine whenever it receives or sends a neighbour sollictation. At least, I think that's the cause. It started as soon as I installed radvd on the router. The included trace seems to point in the same direction. The machine is a Dell Latitude D505 (so x86). Network interfaces are e100 and ipw2200 (firmware not loaded). I'm currently using the e100. I'll try to bisect it but here's the trace already. Let me know if there's anything else you'd like to know. [ 124.439831] ============================================= [ 124.443689] [ INFO: possible recursive locking detected ] [ 124.443689] 2.6.25-rc2 #33 [ 124.443689] --------------------------------------------- [ 124.443689] swapper/0 is trying to acquire lock: [ 124.443689] (&n->lock){-+-+}, at: [] neigh_resolve_output+0x139/0x290 [ 124.443689] [ 124.443689] but task is already holding lock: [ 124.443689] (&n->lock){-+-+}, at: [] neigh_timer_handler+0x14/0x280 [ 124.443689] [ 124.443689] other info that might help us debug this: [ 124.443689] 1 lock held by swapper/0: [ 124.443689] #0: (&n->lock){-+-+}, at: [] neigh_timer_handler+0x14/0x280 [ 124.443689] [ 124.443689] stack backtrace: [ 124.443689] Pid: 0, comm: swapper Not tainted 2.6.25-rc2 #33 [ 124.443689] [] __lock_acquire+0xd3a/0xf40 [ 124.443689] [] __kernel_text_address+0x18/0x30 [ 124.443689] [] lock_acquire+0x60/0x80 [ 124.443689] [] neigh_resolve_output+0x139/0x290 [ 124.443689] [] _write_lock_bh+0x2e/0x40 [ 124.443689] [] neigh_resolve_output+0x139/0x290 [ 124.443689] [] neigh_resolve_output+0x139/0x290 [ 124.443689] [] __lock_acquire+0xf05/0xf40 [ 124.443689] [] ndisc_dst_alloc+0xe0/0x170 [ 124.443689] [] ip6_output_finish+0xa4/0x110 [ 124.443689] [] __lock_acquire+0x11d/0xf40 [ 124.443689] [] ip6_output+0x5b9/0xba0 [ 124.443689] [] sock_alloc_send_skb+0x176/0x1d0 [ 124.443689] [] __ndisc_send+0x33b/0x540 [ 124.443690] [] __ndisc_send+0x1fe/0x540 [ 124.443690] [] ndisc_send_ns+0x69/0xa0 [ 124.443690] [] ndisc_solicit+0xee/0x1b0 [ 124.443690] [] mark_held_locks+0x35/0x80 [ 124.443690] [] _spin_unlock_irqrestore+0x45/0x60 [ 124.443690] [] trace_hardirqs_on+0x79/0x130 [ 124.443690] [] __mod_timer+0x9f/0xb0 [ 124.443690] [] neigh_timer_handler+0x143/0x280 [ 124.443690] [] run_timer_softirq+0x14a/0x1c0 [ 124.443690] [] neigh_timer_handler+0x0/0x280 [ 124.443690] [] neigh_timer_handler+0x0/0x280 [ 124.443690] [] __do_softirq+0x84/0x100 [ 124.443690] [] do_softirq+0x55/0x60 [ 124.443690] [] irq_exit+0x65/0x80 [ 124.443690] [] do_IRQ+0x40/0x70 [ 124.443690] [] common_interrupt+0x2e/0x34 [ 124.443690] [] acpi_power_on+0x3b/0x104 [ 124.443690] [] acpi_idle_enter_simple+0x194/0x1fe [ 124.443690] [] acpi_idle_enter_bm+0xc1/0x2fc [ 124.443690] [] cpuidle_idle_call+0x63/0xb0 [ 124.443690] [] cpuidle_idle_call+0x0/0xb0 [ 124.443690] [] cpu_idle+0x5d/0xf0 [ 124.443690] ======================= Kristof -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHuEDNUEZ9DhGwDugRAgHaAJ9L6i924sEqim1Ti+rZH2qmGESx6wCfWYIY PI1kcoY3SWN/O9TOLgGQC20= =cvKu -----END PGP SIGNATURE-----