From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [Bug 9542] BUG: bad unlock balance detected! Date: Tue, 11 Dec 2007 14:06:14 -0800 Message-ID: <20071211140614.7c1738a5.akpm@linux-foundation.org> References: <20071211150313.EF4D210806E@picon.linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: bugme-daemon@bugzilla.kernel.org, Stephen Hemminger , olel@ans.pl To: netdev@vger.kernel.org Return-path: Received: from smtp2.linux-foundation.org ([207.189.120.14]:33624 "EHLO smtp2.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751283AbXLKWGd (ORCPT ); Tue, 11 Dec 2007 17:06:33 -0500 In-Reply-To: <20071211150313.EF4D210806E@picon.linux-foundation.org> Sender: netdev-owner@vger.kernel.org List-ID: (switching to email - please respond via emailed reply-to-all, not via the bugzilla web interface) On Tue, 11 Dec 2007 07:03:13 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=9542 > > > > > > ------- Comment #2 from olel@ans.pl 2007-12-11 07:03 ------- > Still wrong. So this appears to be a separate bug in either bonding or ipv6. > ========================================================= > [ INFO: possible irq lock inversion dependency detected ] > 2.6.24-rc4-git7 #1 > --------------------------------------------------------- > events/0/9 just changed the state of lock: > (&mc->mca_lock){-+..}, at: [] mld_ifc_timer_expire+0x130/0x1fb > but this lock took another, soft-read-irq-unsafe lock in the past: > (&bond->lock){-.--} > > and interrupts could create inverse lock ordering between them. > > > other info that might help us debug this: > 4 locks held by events/0/9: > #0: (events){--..}, at: [] run_workqueue+0x87/0x1b6 > #1: ((linkwatch_work).work){--..}, at: [] run_workqueue+0x87/0x1b6 > #2: (rtnl_mutex){--..}, at: [] linkwatch_event+0x5/0x22 > #3: (&ndev->lock){-.-+}, at: [] mld_ifc_timer_expire+0x17/0x1fb > > the first lock's dependencies: > -> (&mc->mca_lock){-+..} ops: 10 { > initial-use at: > [] dump_trace+0x83/0x8d > [] __lock_acquire+0x4ba/0xc07 > [] save_stack_trace+0x20/0x3a > [] __lock_acquire+0xbbf/0xc07 > [] ipv6_dev_mc_inc+0x24d/0x31c > [] lock_acquire+0x79/0x93 > [] igmp6_group_added+0x18/0x11d > [] _spin_lock_bh+0x3b/0x64 > [] igmp6_group_added+0x18/0x11d > [] igmp6_group_added+0x18/0x11d > [] trace_hardirqs_on+0x122/0x14c > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] ipv6_dev_mc_inc+0x24d/0x31c > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_init+0x13/0x193 > [] proc_net_fops_create+0x10/0x21 > [] ip6_flowlabel_init+0x1e/0x20 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > in-softirq-W at: > [] __lock_acquire+0x440/0xc07 > [] lock_acquire+0x79/0x93 > [] mld_ifc_timer_expire+0x130/0x1fb > [] mld_ifc_timer_expire+0x0/0x1fb > [] _spin_lock_bh+0x3b/0x64 > [] mld_ifc_timer_expire+0x130/0x1fb > [] mld_ifc_timer_expire+0x130/0x1fb > [] mld_ifc_timer_expire+0x0/0x1fb > [] trace_hardirqs_on+0x10c/0x14c > [] mld_ifc_timer_expire+0x0/0x1fb > [] run_timer_softirq+0xfa/0x15d > [] __do_softirq+0x56/0xdb > [] trace_hardirqs_on+0x10c/0x14c > [] __do_softirq+0x68/0xdb > [] do_softirq+0x36/0x51 > [] irq_exit+0x43/0x4e > [] smp_apic_timer_interrupt+0x74/0x80 > [] __do_softirq+0x56/0xdb > [] apic_timer_interrupt+0x29/0x38 > [] apic_timer_interrupt+0x33/0x38 > [] nl_pid_hash_rehash+0xc1/0x13f > [] nl_pid_hash_rehash+0x11e/0x13f > [] local_bh_enable_ip+0xcf/0xed > [] rt_run_flush+0x64/0x8b > [] fib_netdev_event+0x61/0x65 > [] notifier_call_chain+0x2a/0x52 > [] raw_notifier_call_chain+0x17/0x1a > [] netdev_state_change+0x18/0x29 > [] __linkwatch_run_queue+0x150/0x17e > [] linkwatch_event+0x1d/0x22 > [] run_workqueue+0xdb/0x1b6 > [] run_workqueue+0x87/0x1b6 > [] linkwatch_event+0x0/0x22 > [] worker_thread+0x0/0x85 > [] worker_thread+0x79/0x85 > [] autoremove_wake_function+0x0/0x35 > [] kthread+0x38/0x5e > [] kthread+0x0/0x5e > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-W at: > [] find_usage_backwards+0xbb/0xe2 > [] dump_trace+0x83/0x8d > [] __lock_acquire+0x488/0xc07 > [] save_stack_trace+0x20/0x3a > [] __lock_acquire+0xbbf/0xc07 > [] ipv6_dev_mc_inc+0x24d/0x31c > [] lock_acquire+0x79/0x93 > [] igmp6_group_added+0x18/0x11d > [] _spin_lock_bh+0x3b/0x64 > [] igmp6_group_added+0x18/0x11d > [] igmp6_group_added+0x18/0x11d > [] trace_hardirqs_on+0x122/0x14c > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] ipv6_dev_mc_inc+0x24d/0x31c > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_init+0x13/0x193 > [] proc_net_fops_create+0x10/0x21 > [] ip6_flowlabel_init+0x1e/0x20 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > } > ... key at: [] __key.30799+0x0/0x8 > -> (_xmit_ETHER){-...} ops: 8 { > initial-use at: > [] __lock_acquire+0x4ba/0xc07 > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-W at: > [] mark_lock+0x64/0x451 > [] __lock_acquire+0x488/0xc07 > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > } > ... key at: [] netdev_xmit_lock_key+0x8/0x1c0 > ... acquired at: > [] __lock_acquire+0xa1d/0xc07 > [] dev_mc_add+0x1a/0x6a > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > > -> (&bonding_netdev_xmit_lock_key){-...} ops: 6 { > initial-use at: > [] __lock_acquire+0x4ba/0xc07 > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-W at: > [] mark_lock+0x64/0x451 > [] __lock_acquire+0x488/0xc07 > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > } > ... key at: [] bonding_netdev_xmit_lock_key+0x0/0x8 > -> (&bond->lock){-.--} ops: 103 { > initial-use at: > [] put_lock_stats+0xa/0x1e > [] __lock_acquire+0x4ba/0xc07 > [] mark_held_locks+0x39/0x53 > [] _spin_unlock_irqrestore+0x40/0x58 > [] lock_acquire+0x79/0x93 > [] bond_get_stats+0x28/0xd0 > [] _read_lock_bh+0x3b/0x64 > [] bond_get_stats+0x28/0xd0 > [] bond_get_stats+0x28/0xd0 > [] rtnl_fill_ifinfo+0x2bf/0x563 > [] rtmsg_ifinfo+0x5d/0xdf > [] rtnetlink_event+0x3f/0x42 > [] notifier_call_chain+0x2a/0x52 > [] raw_notifier_call_chain+0x17/0x1a > [] register_netdevice+0x2a7/0x2e7 > [] bond_create+0x1f2/0x26a > [] bonding_init+0x761/0x7ea > [] e1000_init_module+0x45/0x7c > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-W at: > [] __lock_acquire+0x488/0xc07 > [] mark_held_locks+0x39/0x53 > [] _spin_unlock_irq+0x20/0x41 > [] __lock_acquire+0xbbf/0xc07 > [] _spin_unlock_irq+0x2b/0x41 > [] finish_task_switch+0x50/0x8c > [] lock_acquire+0x79/0x93 > [] bond_set_multicast_list+0x1d/0x241 > [] _write_lock_bh+0x3b/0x64 > [] bond_set_multicast_list+0x1d/0x241 > [] bond_set_multicast_list+0x1d/0x241 > [] put_lock_stats+0xa/0x1e > [] __dev_set_rx_mode+0x7b/0x7d > [] dev_set_rx_mode+0x23/0x36 > [] dev_open+0x5e/0x77 > [] dev_change_flags+0x9d/0x14b > [] __dev_get_by_name+0x68/0x73 > [] devinet_ioctl+0x22b/0x536 > [] dev_ioctl+0x46f/0x5b7 > [] sock_ioctl+0x167/0x18b > [] sock_ioctl+0x0/0x18b > [] do_ioctl+0x1f/0x62 > [] vfs_ioctl+0x22d/0x23f > [] trace_hardirqs_on+0x122/0x14c > [] sys_ioctl+0x33/0x4b > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > softirq-on-R at: > [] mark_lock+0x64/0x451 > [] __kernel_text_address+0x5/0xe > [] dump_trace+0x83/0x8d > [] __lock_acquire+0x4a7/0xc07 > [] save_trace+0x37/0x89 > [] run_workqueue+0x87/0x1b6 > [] lock_acquire+0x79/0x93 > [] bond_mii_monitor+0x19/0x85 > [] _read_lock+0x36/0x5f > [] bond_mii_monitor+0x19/0x85 > [] bond_mii_monitor+0x19/0x85 > [] run_workqueue+0xdb/0x1b6 > [] run_workqueue+0x87/0x1b6 > [] bond_mii_monitor+0x0/0x85 > [] worker_thread+0x0/0x85 > [] worker_thread+0x79/0x85 > [] autoremove_wake_function+0x0/0x35 > [] kthread+0x38/0x5e > [] kthread+0x0/0x5e > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-R at: > [] get_lock_stats+0xd/0x2e > [] put_lock_stats+0xa/0x1e > [] __lock_acquire+0x462/0xc07 > [] mark_held_locks+0x39/0x53 > [] _spin_unlock_irqrestore+0x40/0x58 > [] lock_acquire+0x79/0x93 > [] bond_get_stats+0x28/0xd0 > [] _read_lock_bh+0x3b/0x64 > [] bond_get_stats+0x28/0xd0 > [] bond_get_stats+0x28/0xd0 > [] rtnl_fill_ifinfo+0x2bf/0x563 > [] rtmsg_ifinfo+0x5d/0xdf > [] rtnetlink_event+0x3f/0x42 > [] notifier_call_chain+0x2a/0x52 > [] raw_notifier_call_chain+0x17/0x1a > [] register_netdevice+0x2a7/0x2e7 > [] bond_create+0x1f2/0x26a > [] bonding_init+0x761/0x7ea > [] e1000_init_module+0x45/0x7c > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > } > ... key at: [] __key.32970+0x0/0x8 > -> (_xmit_ETHER){-...} ops: 8 { > initial-use at: > [] __lock_acquire+0x4ba/0xc07 > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] > register_netdevice_notifier+0xe/0x126 > [] > register_netdevice_notifier+0xe/0x126 > [] > register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-W at: > [] mark_lock+0x64/0x451 > [] __lock_acquire+0x488/0xc07 > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] > register_netdevice_notifier+0xe/0x126 > [] > register_netdevice_notifier+0xe/0x126 > [] > register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > } > ... key at: [] netdev_xmit_lock_key+0x8/0x1c0 > ... acquired at: > [] __lock_acquire+0xa1d/0xc07 > [] dev_mc_add+0x1a/0x6a > [] _spin_unlock_irqrestore+0x40/0x58 > [] save_stack_trace+0x20/0x3a > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] bond_change_active_slave+0x1a9/0x3bf > [] bond_update_speed_duplex+0x26/0x65 > [] bond_select_active_slave+0x95/0xcd > [] bond_compute_features+0x45/0x84 > [] bond_enslave+0x6a7/0x884 > [] mutex_lock_nested+0x2a4/0x2ac > [] bonding_store_slaves+0x1ae/0x2fb > [] bonding_store_slaves+0x0/0x2fb > [] dev_attr_store+0x27/0x2c > [] sysfs_write_file+0xad/0xe0 > [] sysfs_write_file+0x0/0xe0 > [] vfs_write+0x8a/0x10c > [] do_page_fault+0x0/0x54a > [] sys_write+0x41/0x67 > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > > -> (lweventlist_lock){.+..} ops: 10 { > initial-use at: > [] mark_lock+0x64/0x451 > [] __lock_acquire+0x4ba/0xc07 > [] e1000_read_phy_reg+0x1c7/0x1d3 > [] e1000_write_phy_reg+0xb9/0xc3 > [] delay_tsc+0x25/0x3b > [] lock_acquire+0x79/0x93 > [] linkwatch_add_event+0xd/0x2c > [] _spin_lock_irqsave+0x3f/0x6c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_fire_event+0x25/0x37 > [] e1000_probe+0xad1/0xbe8 > [] pci_device_probe+0x36/0x57 > [] driver_probe_device+0xe1/0x15f > [] _spin_unlock+0x25/0x3b > [] klist_next+0x58/0x6d > [] __driver_attach+0x0/0x7f > [] __driver_attach+0x49/0x7f > [] bus_for_each_dev+0x36/0x58 > [] driver_attach+0x16/0x18 > [] __driver_attach+0x0/0x7f > [] bus_add_driver+0x6d/0x18d > [] __pci_register_driver+0x53/0x7f > [] e1000_init_module+0x45/0x7c > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > in-softirq-W at: > [] __wake_up_common+0x32/0x5c > [] __lock_acquire+0x440/0xc07 > [] _spin_unlock_irqrestore+0x40/0x58 > [] lock_acquire+0x79/0x93 > [] linkwatch_add_event+0xd/0x2c > [] e1000_watchdog+0x0/0x5c9 > [] _spin_lock_irqsave+0x3f/0x6c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_fire_event+0x25/0x37 > [] netif_carrier_on+0x16/0x27 > [] e1000_watchdog+0x255/0x5c9 > [] e1000_watchdog+0x0/0x5c9 > [] run_timer_softirq+0xfa/0x15d > [] __do_softirq+0x56/0xdb > [] trace_hardirqs_on+0x10c/0x14c > [] __do_softirq+0x68/0xdb > [] do_softirq+0x36/0x51 > [] local_bh_enable_ip+0xad/0xed > [] rt_run_flush+0x64/0x8b > [] ip_mc_inc_group+0x184/0x1c1 > [] ip_mc_up+0x41/0x59 > [] inetdev_event+0x257/0x465 > [] rtnl_notify+0x3a/0x40 > [] rtmsg_ifinfo+0xb7/0xdf > [] notifier_call_chain+0x2a/0x52 > [] raw_notifier_call_chain+0x17/0x1a > [] dev_open+0x71/0x77 > [] bond_enslave+0x30f/0x884 > [] mutex_lock_nested+0x2a4/0x2ac > [] bonding_store_slaves+0x1a2/0x2fb > [] bonding_store_slaves+0x1ae/0x2fb > [] bonding_store_slaves+0x0/0x2fb > [] dev_attr_store+0x27/0x2c > [] sysfs_write_file+0xad/0xe0 > [] sysfs_write_file+0x0/0xe0 > [] vfs_write+0x8a/0x10c > [] do_page_fault+0x0/0x54a > [] sys_write+0x41/0x67 > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > } > ... key at: [] lweventlist_lock+0x14/0x40 > ... acquired at: > [] __lock_acquire+0xa1d/0xc07 > [] linkwatch_add_event+0xd/0x2c > [] __lock_acquire+0xbbf/0xc07 > [] lock_acquire+0x79/0x93 > [] linkwatch_add_event+0xd/0x2c > [] _spin_lock_irqsave+0x3f/0x6c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_fire_event+0x25/0x37 > [] netif_carrier_on+0x16/0x27 > [] bond_set_carrier+0x31/0x55 > [] bond_select_active_slave+0x9c/0xcd > [] bond_compute_features+0x45/0x84 > [] bond_enslave+0x6a7/0x884 > [] mutex_lock_nested+0x2a4/0x2ac > [] bonding_store_slaves+0x1ae/0x2fb > [] bonding_store_slaves+0x0/0x2fb > [] dev_attr_store+0x27/0x2c > [] sysfs_write_file+0xad/0xe0 > [] sysfs_write_file+0x0/0xe0 > [] vfs_write+0x8a/0x10c > [] do_page_fault+0x0/0x54a > [] sys_write+0x41/0x67 > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > > ... acquired at: > [] __lock_acquire+0xa1d/0xc07 > [] bond_set_multicast_list+0x1d/0x241 > [] mark_held_locks+0x39/0x53 > [] lock_acquire+0x79/0x93 > [] bond_set_multicast_list+0x1d/0x241 > [] _write_lock_bh+0x3b/0x64 > [] bond_set_multicast_list+0x1d/0x241 > [] bond_set_multicast_list+0x1d/0x241 > [] put_lock_stats+0xa/0x1e > [] __dev_set_rx_mode+0x7b/0x7d > [] dev_set_rx_mode+0x23/0x36 > [] dev_open+0x5e/0x77 > [] dev_change_flags+0x9d/0x14b > [] __dev_get_by_name+0x68/0x73 > [] devinet_ioctl+0x22b/0x536 > [] dev_ioctl+0x46f/0x5b7 > [] sock_ioctl+0x167/0x18b > [] sock_ioctl+0x0/0x18b > [] do_ioctl+0x1f/0x62 > [] vfs_ioctl+0x22d/0x23f > [] trace_hardirqs_on+0x122/0x14c > [] sys_ioctl+0x33/0x4b > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > > ... acquired at: > [] __lock_acquire+0xa1d/0xc07 > [] dev_mc_add+0x1a/0x6a > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > > > the second lock's dependencies: > -> (&bond->lock){-.--} ops: 103 { > initial-use at: > [] put_lock_stats+0xa/0x1e > [] __lock_acquire+0x4ba/0xc07 > [] mark_held_locks+0x39/0x53 > [] _spin_unlock_irqrestore+0x40/0x58 > [] lock_acquire+0x79/0x93 > [] bond_get_stats+0x28/0xd0 > [] _read_lock_bh+0x3b/0x64 > [] bond_get_stats+0x28/0xd0 > [] bond_get_stats+0x28/0xd0 > [] rtnl_fill_ifinfo+0x2bf/0x563 > [] rtmsg_ifinfo+0x5d/0xdf > [] rtnetlink_event+0x3f/0x42 > [] notifier_call_chain+0x2a/0x52 > [] raw_notifier_call_chain+0x17/0x1a > [] register_netdevice+0x2a7/0x2e7 > [] bond_create+0x1f2/0x26a > [] bonding_init+0x761/0x7ea > [] e1000_init_module+0x45/0x7c > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-W at: > [] __lock_acquire+0x488/0xc07 > [] mark_held_locks+0x39/0x53 > [] _spin_unlock_irq+0x20/0x41 > [] __lock_acquire+0xbbf/0xc07 > [] _spin_unlock_irq+0x2b/0x41 > [] finish_task_switch+0x50/0x8c > [] lock_acquire+0x79/0x93 > [] bond_set_multicast_list+0x1d/0x241 > [] _write_lock_bh+0x3b/0x64 > [] bond_set_multicast_list+0x1d/0x241 > [] bond_set_multicast_list+0x1d/0x241 > [] put_lock_stats+0xa/0x1e > [] __dev_set_rx_mode+0x7b/0x7d > [] dev_set_rx_mode+0x23/0x36 > [] dev_open+0x5e/0x77 > [] dev_change_flags+0x9d/0x14b > [] __dev_get_by_name+0x68/0x73 > [] devinet_ioctl+0x22b/0x536 > [] dev_ioctl+0x46f/0x5b7 > [] sock_ioctl+0x167/0x18b > [] sock_ioctl+0x0/0x18b > [] do_ioctl+0x1f/0x62 > [] vfs_ioctl+0x22d/0x23f > [] trace_hardirqs_on+0x122/0x14c > [] sys_ioctl+0x33/0x4b > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > softirq-on-R at: > [] mark_lock+0x64/0x451 > [] __kernel_text_address+0x5/0xe > [] dump_trace+0x83/0x8d > [] __lock_acquire+0x4a7/0xc07 > [] save_trace+0x37/0x89 > [] run_workqueue+0x87/0x1b6 > [] lock_acquire+0x79/0x93 > [] bond_mii_monitor+0x19/0x85 > [] _read_lock+0x36/0x5f > [] bond_mii_monitor+0x19/0x85 > [] bond_mii_monitor+0x19/0x85 > [] run_workqueue+0xdb/0x1b6 > [] run_workqueue+0x87/0x1b6 > [] bond_mii_monitor+0x0/0x85 > [] worker_thread+0x0/0x85 > [] worker_thread+0x79/0x85 > [] autoremove_wake_function+0x0/0x35 > [] kthread+0x38/0x5e > [] kthread+0x0/0x5e > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-R at: > [] get_lock_stats+0xd/0x2e > [] put_lock_stats+0xa/0x1e > [] __lock_acquire+0x462/0xc07 > [] mark_held_locks+0x39/0x53 > [] _spin_unlock_irqrestore+0x40/0x58 > [] lock_acquire+0x79/0x93 > [] bond_get_stats+0x28/0xd0 > [] _read_lock_bh+0x3b/0x64 > [] bond_get_stats+0x28/0xd0 > [] bond_get_stats+0x28/0xd0 > [] rtnl_fill_ifinfo+0x2bf/0x563 > [] rtmsg_ifinfo+0x5d/0xdf > [] rtnetlink_event+0x3f/0x42 > [] notifier_call_chain+0x2a/0x52 > [] raw_notifier_call_chain+0x17/0x1a > [] register_netdevice+0x2a7/0x2e7 > [] bond_create+0x1f2/0x26a > [] bonding_init+0x761/0x7ea > [] e1000_init_module+0x45/0x7c > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > } > ... key at: [] __key.32970+0x0/0x8 > -> (_xmit_ETHER){-...} ops: 8 { > initial-use at: > [] __lock_acquire+0x4ba/0xc07 > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > hardirq-on-W at: > [] mark_lock+0x64/0x451 > [] __lock_acquire+0x488/0xc07 > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] igmp6_group_added+0x56/0x11d > [] ipv6_dev_mc_inc+0x2a3/0x31c > [] icmpv6_rcv+0x630/0x828 > [] ipv6_dev_mc_inc+0x2d8/0x31c > [] ipv6_dev_mc_inc+0x0/0x31c > [] ipv6_add_dev+0x21c/0x24b > [] ndisc_ifinfo_sysctl_change+0x0/0x1ef > [] addrconf_notify+0x60/0x7b7 > [] __lock_acquire+0xbbf/0xc07 > [] mark_held_locks+0x39/0x53 > [] mutex_lock_nested+0x286/0x2ac > [] trace_hardirqs_on+0x122/0x14c > [] mutex_lock_nested+0x2a4/0x2ac > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0xe/0x126 > [] register_netdevice_notifier+0x49/0x126 > [] addrconf_init+0xad/0x193 > [] addrconf_init+0x1b/0x193 > [] inet6_init+0x1f0/0x2ad > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > } > ... key at: [] netdev_xmit_lock_key+0x8/0x1c0 > ... acquired at: > [] __lock_acquire+0xa1d/0xc07 > [] dev_mc_add+0x1a/0x6a > [] _spin_unlock_irqrestore+0x40/0x58 > [] save_stack_trace+0x20/0x3a > [] lock_acquire+0x79/0x93 > [] dev_mc_add+0x1a/0x6a > [] _spin_lock_bh+0x3b/0x64 > [] dev_mc_add+0x1a/0x6a > [] dev_mc_add+0x1a/0x6a > [] bond_change_active_slave+0x1a9/0x3bf > [] bond_update_speed_duplex+0x26/0x65 > [] bond_select_active_slave+0x95/0xcd > [] bond_compute_features+0x45/0x84 > [] bond_enslave+0x6a7/0x884 > [] mutex_lock_nested+0x2a4/0x2ac > [] bonding_store_slaves+0x1ae/0x2fb > [] bonding_store_slaves+0x0/0x2fb > [] dev_attr_store+0x27/0x2c > [] sysfs_write_file+0xad/0xe0 > [] sysfs_write_file+0x0/0xe0 > [] vfs_write+0x8a/0x10c > [] do_page_fault+0x0/0x54a > [] sys_write+0x41/0x67 > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > > -> (lweventlist_lock){.+..} ops: 10 { > initial-use at: > [] mark_lock+0x64/0x451 > [] __lock_acquire+0x4ba/0xc07 > [] e1000_read_phy_reg+0x1c7/0x1d3 > [] e1000_write_phy_reg+0xb9/0xc3 > [] delay_tsc+0x25/0x3b > [] lock_acquire+0x79/0x93 > [] linkwatch_add_event+0xd/0x2c > [] _spin_lock_irqsave+0x3f/0x6c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_fire_event+0x25/0x37 > [] e1000_probe+0xad1/0xbe8 > [] pci_device_probe+0x36/0x57 > [] driver_probe_device+0xe1/0x15f > [] _spin_unlock+0x25/0x3b > [] klist_next+0x58/0x6d > [] __driver_attach+0x0/0x7f > [] __driver_attach+0x49/0x7f > [] bus_for_each_dev+0x36/0x58 > [] driver_attach+0x16/0x18 > [] __driver_attach+0x0/0x7f > [] bus_add_driver+0x6d/0x18d > [] __pci_register_driver+0x53/0x7f > [] e1000_init_module+0x45/0x7c > [] kernel_init+0x150/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_init+0x0/0x2b7 > [] kernel_thread_helper+0x7/0x10 > [] 0xffffffff > in-softirq-W at: > [] __wake_up_common+0x32/0x5c > [] __lock_acquire+0x440/0xc07 > [] _spin_unlock_irqrestore+0x40/0x58 > [] lock_acquire+0x79/0x93 > [] linkwatch_add_event+0xd/0x2c > [] e1000_watchdog+0x0/0x5c9 > [] _spin_lock_irqsave+0x3f/0x6c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_fire_event+0x25/0x37 > [] netif_carrier_on+0x16/0x27 > [] e1000_watchdog+0x255/0x5c9 > [] e1000_watchdog+0x0/0x5c9 > [] run_timer_softirq+0xfa/0x15d > [] __do_softirq+0x56/0xdb > [] trace_hardirqs_on+0x10c/0x14c > [] __do_softirq+0x68/0xdb > [] do_softirq+0x36/0x51 > [] local_bh_enable_ip+0xad/0xed > [] rt_run_flush+0x64/0x8b > [] ip_mc_inc_group+0x184/0x1c1 > [] ip_mc_up+0x41/0x59 > [] inetdev_event+0x257/0x465 > [] rtnl_notify+0x3a/0x40 > [] rtmsg_ifinfo+0xb7/0xdf > [] notifier_call_chain+0x2a/0x52 > [] raw_notifier_call_chain+0x17/0x1a > [] dev_open+0x71/0x77 > [] bond_enslave+0x30f/0x884 > [] mutex_lock_nested+0x2a4/0x2ac > [] bonding_store_slaves+0x1a2/0x2fb > [] bonding_store_slaves+0x1ae/0x2fb > [] bonding_store_slaves+0x0/0x2fb > [] dev_attr_store+0x27/0x2c > [] sysfs_write_file+0xad/0xe0 > [] sysfs_write_file+0x0/0xe0 > [] vfs_write+0x8a/0x10c > [] do_page_fault+0x0/0x54a > [] sys_write+0x41/0x67 > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > } > ... key at: [] lweventlist_lock+0x14/0x40 > ... acquired at: > [] __lock_acquire+0xa1d/0xc07 > [] linkwatch_add_event+0xd/0x2c > [] __lock_acquire+0xbbf/0xc07 > [] lock_acquire+0x79/0x93 > [] linkwatch_add_event+0xd/0x2c > [] _spin_lock_irqsave+0x3f/0x6c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_add_event+0xd/0x2c > [] linkwatch_fire_event+0x25/0x37 > [] netif_carrier_on+0x16/0x27 > [] bond_set_carrier+0x31/0x55 > [] bond_select_active_slave+0x9c/0xcd > [] bond_compute_features+0x45/0x84 > [] bond_enslave+0x6a7/0x884 > [] mutex_lock_nested+0x2a4/0x2ac > [] bonding_store_slaves+0x1ae/0x2fb > [] bonding_store_slaves+0x0/0x2fb > [] dev_attr_store+0x27/0x2c > [] sysfs_write_file+0xad/0xe0 > [] sysfs_write_file+0x0/0xe0 > [] vfs_write+0x8a/0x10c > [] do_page_fault+0x0/0x54a > [] sys_write+0x41/0x67 > [] sysenter_past_esp+0x5f/0xa5 > [] 0xffffffff > > > stack backtrace: > Pid: 9, comm: events/0 Not tainted 2.6.24-rc4-git7 #1 > [] print_irq_inversion_bug+0x108/0x112 > [] check_usage_forwards+0x3c/0x41 > [] mark_lock+0x1e7/0x451 > [] __lock_acquire+0x440/0xc07 > [] lock_acquire+0x79/0x93 > [] mld_ifc_timer_expire+0x130/0x1fb > [] mld_ifc_timer_expire+0x0/0x1fb > [] _spin_lock_bh+0x3b/0x64 > [] mld_ifc_timer_expire+0x130/0x1fb > [] mld_ifc_timer_expire+0x130/0x1fb > [] mld_ifc_timer_expire+0x0/0x1fb > [] trace_hardirqs_on+0x10c/0x14c > [] mld_ifc_timer_expire+0x0/0x1fb > [] run_timer_softirq+0xfa/0x15d > [] __do_softirq+0x56/0xdb > [] trace_hardirqs_on+0x10c/0x14c > [] __do_softirq+0x68/0xdb > [] do_softirq+0x36/0x51 > [] irq_exit+0x43/0x4e > [] smp_apic_timer_interrupt+0x74/0x80 > [] __do_softirq+0x56/0xdb > [] apic_timer_interrupt+0x29/0x38 > [] apic_timer_interrupt+0x33/0x38 > [] nl_pid_hash_rehash+0xc1/0x13f > [] nl_pid_hash_rehash+0x11e/0x13f > [] local_bh_enable_ip+0xcf/0xed > [] rt_run_flush+0x64/0x8b > [] fib_netdev_event+0x61/0x65 > [] notifier_call_chain+0x2a/0x52 > [] raw_notifier_call_chain+0x17/0x1a > [] netdev_state_change+0x18/0x29 > [] __linkwatch_run_queue+0x150/0x17e > [] linkwatch_event+0x1d/0x22 > [] run_workqueue+0xdb/0x1b6 > [] run_workqueue+0x87/0x1b6 > [] linkwatch_event+0x0/0x22 > [] worker_thread+0x0/0x85 > [] worker_thread+0x79/0x85 > [] autoremove_wake_function+0x0/0x35 > [] kthread+0x38/0x5e > [] kthread+0x0/0x5e > [] kernel_thread_helper+0x7/0x10 > ======================= > bonding: bond0: enslaving eth1 as a backup interface with a down link. > bonding: bond0: Setting eth0 as primary slave. > bond0: no IPv6 routers present >