* Re: [patch for 2.6.24? 1/1] bonding: locking fix
[not found] ` <Pine.LNX.4.64.0801142313350.26034@bizon.gios.gov.pl>
@ 2008-01-14 22:47 ` Andrew Morton
2008-01-14 23:01 ` Jay Vosburgh
0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2008-01-14 22:47 UTC (permalink / raw)
To: Krzysztof Oledzki; +Cc: davem, jeff, shemminger, Jay Vosburgh, netdev
(cc's added)
On Mon, 14 Jan 2008 23:14:25 +0100 (CET)
Krzysztof Oledzki <olel@ans.pl> wrote:
>
>
> On Mon, 14 Jan 2008, akpm@linux-foundation.org wrote:
>
> > From: Andrew Morton <akpm@linux-foundation.org>
> >
> > Remove stray rtnl_unlock().
> >
> > Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9542
> >
> > Cc: "David S. Miller" <davem@davemloft.net>
> > Cc: Stephen Hemminger <shemminger@linux-foundation.org>
> > Cc: Krzysztof Oledzki <olel@ans.pl>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> > ---
> >
> > drivers/net/bonding/bond_sysfs.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff -puN drivers/net/bonding/bond_sysfs.c~bonding-locking-fix drivers/net/bonding/bond_sysfs.c
> > --- a/drivers/net/bonding/bond_sysfs.c~bonding-locking-fix
> > +++ a/drivers/net/bonding/bond_sysfs.c
> > @@ -1111,8 +1111,6 @@ static ssize_t bonding_store_primary(str
> > out:
> > write_unlock_bh(&bond->lock);
> >
> > - rtnl_unlock();
> > -
> > return count;
> > }
> > static DEVICE_ATTR(primary, S_IRUGO | S_IWUSR, bonding_show_primary, bonding_store_primary);
> > _
> >
>
> http://thread.gmane.org/gmane.linux.network/82566/focus=83142
>
That's bond_lock.
This patch (below) addresses what appears to me to be an obvious
imbalance in rtnl_lock.
I don't care how it's fixed, really. Someone please fix it?
From: Andrew Morton <akpm@linux-foundation.org>
Remove stray rtnl_unlock().
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9542
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Krzysztof Oledzki <olel@ans.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/bonding/bond_sysfs.c | 2 --
1 file changed, 2 deletions(-)
diff -puN drivers/net/bonding/bond_sysfs.c~bonding-locking-fix drivers/net/bonding/bond_sysfs.c
--- a/drivers/net/bonding/bond_sysfs.c~bonding-locking-fix
+++ a/drivers/net/bonding/bond_sysfs.c
@@ -1111,8 +1111,6 @@ static ssize_t bonding_store_primary(str
out:
write_unlock_bh(&bond->lock);
- rtnl_unlock();
-
return count;
}
static DEVICE_ATTR(primary, S_IRUGO | S_IWUSR, bonding_show_primary, bonding_store_primary);
_
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch for 2.6.24? 1/1] bonding: locking fix
2008-01-14 22:47 ` [patch for 2.6.24? 1/1] bonding: locking fix Andrew Morton
@ 2008-01-14 23:01 ` Jay Vosburgh
2008-01-17 23:42 ` Andrew Morton
0 siblings, 1 reply; 9+ messages in thread
From: Jay Vosburgh @ 2008-01-14 23:01 UTC (permalink / raw)
To: Andrew Morton; +Cc: Krzysztof Oledzki, davem, jeff, shemminger, netdev
Andrew Morton <akpm@linux-foundation.org> wrote:
[...]
>That's bond_lock.
>
>This patch (below) addresses what appears to me to be an obvious
>imbalance in rtnl_lock.
>
>I don't care how it's fixed, really. Someone please fix it?
I posted a correct patch for this a few days ago:
http://marc.info/?l=linux-netdev&m=119975746803886&w=2
The correct fix requires more than simply removing the rtnl calls.
I've got a few other patches in the pipeline, so I'm planning to
repost the set the above patch was a part of plus a few others, most
likely tomorrow.
-J
---
-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch for 2.6.24? 1/1] bonding: locking fix
2008-01-14 23:01 ` Jay Vosburgh
@ 2008-01-17 23:42 ` Andrew Morton
2008-01-18 0:26 ` Jay Vosburgh
2008-01-21 0:57 ` David Miller
0 siblings, 2 replies; 9+ messages in thread
From: Andrew Morton @ 2008-01-17 23:42 UTC (permalink / raw)
To: Jay Vosburgh; +Cc: olel, davem, jeff, shemminger, netdev
On Mon, 14 Jan 2008 15:01:13 -0800
Jay Vosburgh <fubar@us.ibm.com> wrote:
> Andrew Morton <akpm@linux-foundation.org> wrote:
> [...]
> >That's bond_lock.
> >
> >This patch (below) addresses what appears to me to be an obvious
> >imbalance in rtnl_lock.
> >
> >I don't care how it's fixed, really. Someone please fix it?
>
> I posted a correct patch for this a few days ago:
>
> http://marc.info/?l=linux-netdev&m=119975746803886&w=2
>
> The correct fix requires more than simply removing the rtnl calls.
>
> I've got a few other patches in the pipeline, so I'm planning to
> repost the set the above patch was a part of plus a few others, most
> likely tomorrow.
Can we get this bug fixed please? Today? It has been known about for more
than two months.
I can only assume that people don't use this feature much because this bug
will kill your kernel, every time.
Applying this:
--- a/drivers/net/bonding/bond_sysfs.c~bonding-locking-fix
+++ a/drivers/net/bonding/bond_sysfs.c
@@ -1111,8 +1111,6 @@ static ssize_t bonding_store_primary(str
out:
write_unlock_bh(&bond->lock);
- rtnl_unlock();
-
return count;
}
static DEVICE_ATTR(primary, S_IRUGO | S_IWUSR, bonding_show_primary, bonding_store_primary);
is better than doing nothing.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch for 2.6.24? 1/1] bonding: locking fix
2008-01-17 23:42 ` Andrew Morton
@ 2008-01-18 0:26 ` Jay Vosburgh
2008-01-18 0:58 ` Krzysztof Oledzki
2008-01-21 0:57 ` David Miller
1 sibling, 1 reply; 9+ messages in thread
From: Jay Vosburgh @ 2008-01-18 0:26 UTC (permalink / raw)
To: Andrew Morton; +Cc: olel, davem, jeff, shemminger, netdev
Andrew Morton <akpm@linux-foundation.org> wrote:
[...]
>Can we get this bug fixed please? Today? It has been known about for more
>than two months.
I just reposted the complete fix; it's #1 of the series of 7.
-J
---
-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch for 2.6.24? 1/1] bonding: locking fix
2008-01-18 0:26 ` Jay Vosburgh
@ 2008-01-18 0:58 ` Krzysztof Oledzki
2008-01-18 1:45 ` Jay Vosburgh
0 siblings, 1 reply; 9+ messages in thread
From: Krzysztof Oledzki @ 2008-01-18 0:58 UTC (permalink / raw)
To: Jay Vosburgh; +Cc: Andrew Morton, davem, jeff, shemminger, netdev
[-- Attachment #1: Type: TEXT/PLAIN, Size: 65518 bytes --]
On Thu, 17 Jan 2008, Jay Vosburgh wrote:
>
> Andrew Morton <akpm@linux-foundation.org> wrote:
> [...]
>> Can we get this bug fixed please? Today? It has been known about for more
>> than two months.
>
> I just reposted the complete fix; it's #1 of the series of 7.
Bad news. :( 2.6.24-rc7 + patch #1 (bonding: fix locking in sysfs
primary/active selection):
bonding: bond0: setting mode to active-backup (1).
bonding: bond0: Setting MII monitoring interval to 100.
ADDRCONF(NETDEV_UP): bond0: link is not ready
bonding: bond0: Adding slave eth0.
e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
bonding: bond0: making interface eth0 the new active one.
bonding: bond0: first active interface up!
bonding: bond0: enslaving eth0 as an active interface with an up link.
bonding: bond0: Adding slave eth1.
ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
=========================================================
[ INFO: possible irq lock inversion dependency detected ]
2.6.24-rc7 #1
---------------------------------------------------------
events/0/9 just changed the state of lock:
(&mc->mca_lock){-+..}, at: [<c041255a>] 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: [<c0133d33>] run_workqueue+0x87/0x1b6
#1: ((linkwatch_work).work){--..}, at: [<c0133d33>] run_workqueue+0x87/0x1b6
#2: (rtnl_mutex){--..}, at: [<c03ac644>] linkwatch_event+0x5/0x22
#3: (&ndev->lock){-.-+}, at: [<c0412441>] mld_ifc_timer_expire+0x17/0x1fb
the first lock's dependencies:
-> (&mc->mca_lock){-+..} ops: 10 {
initial-use at:
[<c0104ee2>] dump_trace+0x83/0x8d
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c0109ef2>] save_stack_trace+0x20/0x3a
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0412d32>] ipv6_dev_mc_inc+0x24d/0x31c
[<c0143056>] lock_acquire+0x79/0x93
[<c04129b6>] igmp6_group_added+0x18/0x11d
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c04129b6>] igmp6_group_added+0x18/0x11d
[<c04129b6>] igmp6_group_added+0x18/0x11d
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0412d32>] ipv6_dev_mc_inc+0x24d/0x31c
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c05c5ae9>] addrconf_init+0x13/0x193
[<c019a04b>] proc_net_fops_create+0x10/0x21
[<c041a418>] ip6_flowlabel_init+0x1e/0x20
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c0142816>] __lock_acquire+0x440/0xc07
[<c013fdfe>] get_lock_stats+0xd/0x2e
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c0143056>] lock_acquire+0x79/0x93
[<c041255a>] mld_ifc_timer_expire+0x130/0x1fb
[<c041242a>] mld_ifc_timer_expire+0x0/0x1fb
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c041255a>] mld_ifc_timer_expire+0x130/0x1fb
[<c041255a>] mld_ifc_timer_expire+0x130/0x1fb
[<c041242a>] mld_ifc_timer_expire+0x0/0x1fb
[<c0141f7d>] trace_hardirqs_on+0x10c/0x14c
[<c041242a>] mld_ifc_timer_expire+0x0/0x1fb
[<c012e02e>] run_timer_softirq+0xfa/0x15d
[<c012a982>] __do_softirq+0x56/0xdb
[<c0141f7d>] trace_hardirqs_on+0x10c/0x14c
[<c012a994>] __do_softirq+0x68/0xdb
[<c012aa3d>] do_softirq+0x36/0x51
[<c012af26>] local_bh_enable_ip+0xad/0xed
[<c03bfa03>] rt_run_flush+0x64/0x8b
[<c03e9b8a>] fib_netdev_event+0x61/0x65
[<c013ac34>] notifier_call_chain+0x2a/0x52
[<c013ac7e>] raw_notifier_call_chain+0x17/0x1a
[<c03a33d9>] netdev_state_change+0x18/0x29
[<c03ac611>] __linkwatch_run_queue+0x150/0x17e
[<c03ac65c>] linkwatch_event+0x1d/0x22
[<c0133d87>] run_workqueue+0xdb/0x1b6
[<c0133d33>] run_workqueue+0x87/0x1b6
[<c03ac63f>] linkwatch_event+0x0/0x22
[<c01347a7>] worker_thread+0x0/0x85
[<c0134820>] worker_thread+0x79/0x85
[<c0137255>] autoremove_wake_function+0x0/0x35
[<c013719e>] kthread+0x38/0x5e
[<c0137166>] kthread+0x0/0x5e
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c01417e2>] find_usage_backwards+0xbb/0xe2
[<c0104ee2>] dump_trace+0x83/0x8d
[<c014285e>] __lock_acquire+0x488/0xc07
[<c0109ef2>] save_stack_trace+0x20/0x3a
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0412d32>] ipv6_dev_mc_inc+0x24d/0x31c
[<c0143056>] lock_acquire+0x79/0x93
[<c04129b6>] igmp6_group_added+0x18/0x11d
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c04129b6>] igmp6_group_added+0x18/0x11d
[<c04129b6>] igmp6_group_added+0x18/0x11d
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0412d32>] ipv6_dev_mc_inc+0x24d/0x31c
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c05c5ae9>] addrconf_init+0x13/0x193
[<c019a04b>] proc_net_fops_create+0x10/0x21
[<c041a418>] ip6_flowlabel_init+0x1e/0x20
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c087e2d8>] __key.30803+0x0/0x8
-> (_xmit_ETHER){-...} ops: 8 {
initial-use at:
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c014197a>] mark_lock+0x64/0x451
[<c014285e>] __lock_acquire+0x488/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c087adc8>] netdev_xmit_lock_key+0x8/0x1c0
-> (&on_slab_l3_key){....} ops: 859 {
initial-use at:
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c013ae98>] __atomic_notifier_call_chain+0x0/0x94
[<c013af43>] atomic_notifier_call_chain+0x17/0x1a
[<c015023d>] get_page_from_freelist+0x25c/0x3e6
[<c0143056>] lock_acquire+0x79/0x93
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c043a80e>] _spin_lock+0x36/0x5f
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0155ccf>] mod_zone_page_state+0x35/0x3c
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c0165d3f>] cache_alloc_refill+0x320/0x469
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c05b31ca>] pidmap_init+0x15/0x149
[<c05a9872>] start_kernel+0x272/0x2cf
[<c05a90e0>] unknown_bootoption+0x0/0x195
[<ffffffff>] 0xffffffff
}
... key at: [<c086574c>] on_slab_l3_key+0x0/0x8
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0143056>] lock_acquire+0x79/0x93
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c043a80e>] _spin_lock+0x36/0x5f
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c03a2666>] __dev_addr_add+0x61/0xb4
[<c03a63be>] dev_mc_add+0x43/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
-> (&bonding_netdev_xmit_lock_key){-...} ops: 6 {
initial-use at:
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c014197a>] mark_lock+0x64/0x451
[<c014285e>] __lock_acquire+0x488/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c0877804>] bonding_netdev_xmit_lock_key+0x0/0x8
-> (&bond->lock){-.--} ops: 99 {
initial-use at:
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0143056>] lock_acquire+0x79/0x93
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c043a9fe>] _read_lock_bh+0x3b/0x64
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c03aacdb>] rtnl_fill_ifinfo+0x2bf/0x563
[<c03ab259>] rtmsg_ifinfo+0x5d/0xdf
[<c03ab31a>] rtnetlink_event+0x3f/0x42
[<c013ac34>] notifier_call_chain+0x2a/0x52
[<c013ac7e>] raw_notifier_call_chain+0x17/0x1a
[<c03a3ad2>] register_netdevice+0x2a7/0x2e7
[<c02ed842>] bond_create+0x1f2/0x26a
[<c05bed76>] bonding_init+0x761/0x7ea
[<c05be5de>] e1000_init_module+0x45/0x7c
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c014285e>] __lock_acquire+0x488/0xc07
[<c01208c9>] try_to_wake_up+0x2ce/0x2d8
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c043a935>] _write_lock_bh+0x3b/0x64
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c03a1dcf>] __dev_set_rx_mode+0x7b/0x7d
[<c03a1f69>] dev_set_rx_mode+0x23/0x36
[<c03a4644>] dev_open+0x5e/0x77
[<c03a3313>] dev_change_flags+0x9d/0x14b
[<c03a2117>] __dev_get_by_name+0x68/0x73
[<c03e4142>] devinet_ioctl+0x22b/0x536
[<c03a4439>] dev_ioctl+0x46f/0x5b7
[<c039a564>] sock_ioctl+0x167/0x18b
[<c039a3fd>] sock_ioctl+0x0/0x18b
[<c0172677>] do_ioctl+0x1f/0x62
[<c01728e7>] vfs_ioctl+0x22d/0x23f
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c017292c>] sys_ioctl+0x33/0x4b
[<c0103e92>] sysenter_past_esp+0x5f/0xa5
[<ffffffff>] 0xffffffff
softirq-on-R at:
[<c014197a>] mark_lock+0x64/0x451
[<c013583a>] __kernel_text_address+0x5/0xe
[<c0104ee2>] dump_trace+0x83/0x8d
[<c014287d>] __lock_acquire+0x4a7/0xc07
[<c013fc6a>] save_trace+0x37/0x89
[<c0133d33>] run_workqueue+0x87/0x1b6
[<c0143056>] lock_acquire+0x79/0x93
[<c02eee43>] bond_mii_monitor+0x19/0x85
[<c043aa5d>] _read_lock+0x36/0x5f
[<c02eee43>] bond_mii_monitor+0x19/0x85
[<c02eee43>] bond_mii_monitor+0x19/0x85
[<c0133d87>] run_workqueue+0xdb/0x1b6
[<c0133d33>] run_workqueue+0x87/0x1b6
[<c02eee2a>] bond_mii_monitor+0x0/0x85
[<c01347a7>] worker_thread+0x0/0x85
[<c0134820>] worker_thread+0x79/0x85
[<c0137255>] autoremove_wake_function+0x0/0x35
[<c013719e>] kthread+0x38/0x5e
[<c0137166>] kthread+0x0/0x5e
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-R at:
[<c013fdfe>] get_lock_stats+0xd/0x2e
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c0142838>] __lock_acquire+0x462/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0143056>] lock_acquire+0x79/0x93
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c043a9fe>] _read_lock_bh+0x3b/0x64
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c03aacdb>] rtnl_fill_ifinfo+0x2bf/0x563
[<c03ab259>] rtmsg_ifinfo+0x5d/0xdf
[<c03ab31a>] rtnetlink_event+0x3f/0x42
[<c013ac34>] notifier_call_chain+0x2a/0x52
[<c013ac7e>] raw_notifier_call_chain+0x17/0x1a
[<c03a3ad2>] register_netdevice+0x2a7/0x2e7
[<c02ed842>] bond_create+0x1f2/0x26a
[<c05bed76>] bonding_init+0x761/0x7ea
[<c05be5de>] e1000_init_module+0x45/0x7c
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c08777d0>] __key.32976+0x0/0x8
-> (_xmit_ETHER){-...} ops: 8 {
initial-use at:
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c014197a>] mark_lock+0x64/0x451
[<c014285e>] __lock_acquire+0x488/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c087adc8>] netdev_xmit_lock_key+0x8/0x1c0
-> (&on_slab_l3_key){....} ops: 859 {
initial-use at:
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c013ae98>] __atomic_notifier_call_chain+0x0/0x94
[<c013af43>] atomic_notifier_call_chain+0x17/0x1a
[<c015023d>] get_page_from_freelist+0x25c/0x3e6
[<c0143056>] lock_acquire+0x79/0x93
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c043a80e>] _spin_lock+0x36/0x5f
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0155ccf>] mod_zone_page_state+0x35/0x3c
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c0165d3f>] cache_alloc_refill+0x320/0x469
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c05b31ca>] pidmap_init+0x15/0x149
[<c05a9872>] start_kernel+0x272/0x2cf
[<c05a90e0>] unknown_bootoption+0x0/0x195
[<ffffffff>] 0xffffffff
}
... key at: [<c086574c>] on_slab_l3_key+0x0/0x8
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0143056>] lock_acquire+0x79/0x93
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c043a80e>] _spin_lock+0x36/0x5f
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c03a2666>] __dev_addr_add+0x61/0xb4
[<c03a63be>] dev_mc_add+0x43/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0109ef2>] save_stack_trace+0x20/0x3a
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c02ee472>] bond_change_active_slave+0x1a9/0x3bf
[<c02ec7a3>] bond_update_speed_duplex+0x26/0x65
[<c02ee991>] bond_select_active_slave+0x97/0xd3
[<c02ed20b>] bond_compute_features+0x45/0x84
[<c02ef9a4>] bond_enslave+0x6a7/0x884
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c02f617b>] bonding_store_slaves+0x1ae/0x2fb
[<c02f5fcd>] bonding_store_slaves+0x0/0x2fb
[<c02ce8b7>] dev_attr_store+0x27/0x2c
[<c019bda1>] sysfs_write_file+0xad/0xe0
[<c019bcf4>] sysfs_write_file+0x0/0xe0
[<c0168e5c>] vfs_write+0x8a/0x10c
[<c0118562>] do_page_fault+0x0/0x54a
[<c01693e1>] sys_write+0x41/0x67
[<c0103e92>] sysenter_past_esp+0x5f/0xa5
[<ffffffff>] 0xffffffff
-> (lweventlist_lock){.+..} ops: 10 {
initial-use at:
[<c014197a>] mark_lock+0x64/0x451
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c02e363c>] e1000_read_phy_reg+0x1c7/0x1d3
[<c02e346b>] e1000_write_phy_reg+0xb9/0xc3
[<c024a82e>] delay_tsc+0x25/0x3b
[<c0143056>] lock_acquire+0x79/0x93
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c043ab8f>] _spin_lock_irqsave+0x3f/0x6c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac4af>] linkwatch_fire_event+0x25/0x37
[<c02e1c23>] e1000_probe+0xad1/0xbe8
[<c0257f1b>] pci_device_probe+0x36/0x57
[<c02d0e3f>] driver_probe_device+0xe1/0x15f
[<c043ae09>] _spin_unlock+0x25/0x3b
[<c0437e92>] klist_next+0x58/0x6d
[<c02d0f4f>] __driver_attach+0x0/0x7f
[<c02d0f98>] __driver_attach+0x49/0x7f
[<c02d03e3>] bus_for_each_dev+0x36/0x58
[<c02d0c97>] driver_attach+0x16/0x18
[<c02d0f4f>] __driver_attach+0x0/0x7f
[<c02d06da>] bus_add_driver+0x6d/0x18d
[<c0258065>] __pci_register_driver+0x53/0x7f
[<c05be5de>] e1000_init_module+0x45/0x7c
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c011d1c0>] __wake_up_common+0x32/0x5c
[<c0142816>] __lock_acquire+0x440/0xc07
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0143056>] lock_acquire+0x79/0x93
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c02dfee1>] e1000_watchdog+0x0/0x5c9
[<c043ab8f>] _spin_lock_irqsave+0x3f/0x6c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac4af>] linkwatch_fire_event+0x25/0x37
[<c03af436>] netif_carrier_on+0x16/0x27
[<c02e0136>] e1000_watchdog+0x255/0x5c9
[<c02dfee1>] e1000_watchdog+0x0/0x5c9
[<c012e02e>] run_timer_softirq+0xfa/0x15d
[<c012a982>] __do_softirq+0x56/0xdb
[<c0141f7d>] trace_hardirqs_on+0x10c/0x14c
[<c012a994>] __do_softirq+0x68/0xdb
[<c012aa3d>] do_softirq+0x36/0x51
[<c012abe3>] irq_exit+0x43/0x4e
[<c0114122>] smp_apic_timer_interrupt+0x74/0x80
[<c0104a01>] apic_timer_interrupt+0x29/0x38
[<c0104a0b>] apic_timer_interrupt+0x33/0x38
[<c01600d8>] sys_swapon+0x254/0x9aa
[<c01021a6>] mwait_idle_with_hints+0x3b/0x3f
[<c0102447>] mwait_idle+0x0/0xf
[<c0102581>] cpu_idle+0x99/0xc6
[<c05a98c7>] start_kernel+0x2c7/0x2cf
[<c05a90e0>] unknown_bootoption+0x0/0x195
[<ffffffff>] 0xffffffff
}
... key at: [<c058a194>] lweventlist_lock+0x14/0x40
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c043ab8f>] _spin_lock_irqsave+0x3f/0x6c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac4af>] linkwatch_fire_event+0x25/0x37
[<c03af436>] netif_carrier_on+0x16/0x27
[<c02ede0c>] bond_set_carrier+0x31/0x55
[<c02ee998>] bond_select_active_slave+0x9e/0xd3
[<c02ed20b>] bond_compute_features+0x45/0x84
[<c02ef9a4>] bond_enslave+0x6a7/0x884
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c02f617b>] bonding_store_slaves+0x1ae/0x2fb
[<c02f5fcd>] bonding_store_slaves+0x0/0x2fb
[<c02ce8b7>] dev_attr_store+0x27/0x2c
[<c019bda1>] sysfs_write_file+0xad/0xe0
[<c019bcf4>] sysfs_write_file+0x0/0xe0
[<c0168e5c>] vfs_write+0x8a/0x10c
[<c0118562>] do_page_fault+0x0/0x54a
[<c01693e1>] sys_write+0x41/0x67
[<c0103e92>] sysenter_past_esp+0x5f/0xa5
[<ffffffff>] 0xffffffff
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c0143056>] lock_acquire+0x79/0x93
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c043a935>] _write_lock_bh+0x3b/0x64
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c03a1dcf>] __dev_set_rx_mode+0x7b/0x7d
[<c03a1f69>] dev_set_rx_mode+0x23/0x36
[<c03a4644>] dev_open+0x5e/0x77
[<c03a3313>] dev_change_flags+0x9d/0x14b
[<c03a2117>] __dev_get_by_name+0x68/0x73
[<c03e4142>] devinet_ioctl+0x22b/0x536
[<c03a4439>] dev_ioctl+0x46f/0x5b7
[<c039a564>] sock_ioctl+0x167/0x18b
[<c039a3fd>] sock_ioctl+0x0/0x18b
[<c0172677>] do_ioctl+0x1f/0x62
[<c01728e7>] vfs_ioctl+0x22d/0x23f
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c017292c>] sys_ioctl+0x33/0x4b
[<c0103e92>] sysenter_past_esp+0x5f/0xa5
[<ffffffff>] 0xffffffff
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
the second lock's dependencies:
-> (&bond->lock){-.--} ops: 99 {
initial-use at:
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0143056>] lock_acquire+0x79/0x93
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c043a9fe>] _read_lock_bh+0x3b/0x64
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c03aacdb>] rtnl_fill_ifinfo+0x2bf/0x563
[<c03ab259>] rtmsg_ifinfo+0x5d/0xdf
[<c03ab31a>] rtnetlink_event+0x3f/0x42
[<c013ac34>] notifier_call_chain+0x2a/0x52
[<c013ac7e>] raw_notifier_call_chain+0x17/0x1a
[<c03a3ad2>] register_netdevice+0x2a7/0x2e7
[<c02ed842>] bond_create+0x1f2/0x26a
[<c05bed76>] bonding_init+0x761/0x7ea
[<c05be5de>] e1000_init_module+0x45/0x7c
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c014285e>] __lock_acquire+0x488/0xc07
[<c01208c9>] try_to_wake_up+0x2ce/0x2d8
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c043a935>] _write_lock_bh+0x3b/0x64
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c02eda55>] bond_set_multicast_list+0x1d/0x241
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c03a1dcf>] __dev_set_rx_mode+0x7b/0x7d
[<c03a1f69>] dev_set_rx_mode+0x23/0x36
[<c03a4644>] dev_open+0x5e/0x77
[<c03a3313>] dev_change_flags+0x9d/0x14b
[<c03a2117>] __dev_get_by_name+0x68/0x73
[<c03e4142>] devinet_ioctl+0x22b/0x536
[<c03a4439>] dev_ioctl+0x46f/0x5b7
[<c039a564>] sock_ioctl+0x167/0x18b
[<c039a3fd>] sock_ioctl+0x0/0x18b
[<c0172677>] do_ioctl+0x1f/0x62
[<c01728e7>] vfs_ioctl+0x22d/0x23f
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c017292c>] sys_ioctl+0x33/0x4b
[<c0103e92>] sysenter_past_esp+0x5f/0xa5
[<ffffffff>] 0xffffffff
softirq-on-R at:
[<c014197a>] mark_lock+0x64/0x451
[<c013583a>] __kernel_text_address+0x5/0xe
[<c0104ee2>] dump_trace+0x83/0x8d
[<c014287d>] __lock_acquire+0x4a7/0xc07
[<c013fc6a>] save_trace+0x37/0x89
[<c0133d33>] run_workqueue+0x87/0x1b6
[<c0143056>] lock_acquire+0x79/0x93
[<c02eee43>] bond_mii_monitor+0x19/0x85
[<c043aa5d>] _read_lock+0x36/0x5f
[<c02eee43>] bond_mii_monitor+0x19/0x85
[<c02eee43>] bond_mii_monitor+0x19/0x85
[<c0133d87>] run_workqueue+0xdb/0x1b6
[<c0133d33>] run_workqueue+0x87/0x1b6
[<c02eee2a>] bond_mii_monitor+0x0/0x85
[<c01347a7>] worker_thread+0x0/0x85
[<c0134820>] worker_thread+0x79/0x85
[<c0137255>] autoremove_wake_function+0x0/0x35
[<c013719e>] kthread+0x38/0x5e
[<c0137166>] kthread+0x0/0x5e
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-R at:
[<c013fdfe>] get_lock_stats+0xd/0x2e
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c0142838>] __lock_acquire+0x462/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0143056>] lock_acquire+0x79/0x93
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c043a9fe>] _read_lock_bh+0x3b/0x64
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c02edca1>] bond_get_stats+0x28/0xd0
[<c03aacdb>] rtnl_fill_ifinfo+0x2bf/0x563
[<c03ab259>] rtmsg_ifinfo+0x5d/0xdf
[<c03ab31a>] rtnetlink_event+0x3f/0x42
[<c013ac34>] notifier_call_chain+0x2a/0x52
[<c013ac7e>] raw_notifier_call_chain+0x17/0x1a
[<c03a3ad2>] register_netdevice+0x2a7/0x2e7
[<c02ed842>] bond_create+0x1f2/0x26a
[<c05bed76>] bonding_init+0x761/0x7ea
[<c05be5de>] e1000_init_module+0x45/0x7c
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c08777d0>] __key.32976+0x0/0x8
-> (_xmit_ETHER){-...} ops: 8 {
initial-use at:
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c014197a>] mark_lock+0x64/0x451
[<c014285e>] __lock_acquire+0x488/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c087adc8>] netdev_xmit_lock_key+0x8/0x1c0
-> (&on_slab_l3_key){....} ops: 859 {
initial-use at:
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c013ae98>] __atomic_notifier_call_chain+0x0/0x94
[<c013af43>] atomic_notifier_call_chain+0x17/0x1a
[<c015023d>] get_page_from_freelist+0x25c/0x3e6
[<c0143056>] lock_acquire+0x79/0x93
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c043a80e>] _spin_lock+0x36/0x5f
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0155ccf>] mod_zone_page_state+0x35/0x3c
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c0165d3f>] cache_alloc_refill+0x320/0x469
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c05b31ca>] pidmap_init+0x15/0x149
[<c05a9872>] start_kernel+0x272/0x2cf
[<c05a90e0>] unknown_bootoption+0x0/0x195
[<ffffffff>] 0xffffffff
}
... key at: [<c086574c>] on_slab_l3_key+0x0/0x8
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0143056>] lock_acquire+0x79/0x93
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c043a80e>] _spin_lock+0x36/0x5f
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c0165a73>] cache_alloc_refill+0x54/0x469
[<c01659cf>] kmem_cache_alloc+0x38/0x88
[<c03a2666>] __dev_addr_add+0x61/0xb4
[<c03a63be>] dev_mc_add+0x43/0x6a
[<c04129f4>] igmp6_group_added+0x56/0x11d
[<c0412d88>] ipv6_dev_mc_inc+0x2a3/0x31c
[<c0410100>] icmpv6_rcv+0x6d8/0x828
[<c0412dbd>] ipv6_dev_mc_inc+0x2d8/0x31c
[<c0412ae5>] ipv6_dev_mc_inc+0x0/0x31c
[<c0402134>] ipv6_add_dev+0x21c/0x24b
[<c040b95d>] ndisc_ifinfo_sysctl_change+0x0/0x1ef
[<c0402717>] addrconf_notify+0x60/0x7b7
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0141da0>] mark_held_locks+0x39/0x53
[<c0439946>] mutex_lock_nested+0x286/0x2ac
[<c0141f93>] trace_hardirqs_on+0x122/0x14c
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a4841>] register_netdevice_notifier+0xe/0x126
[<c03a487c>] register_netdevice_notifier+0x49/0x126
[<c05c5b83>] addrconf_init+0xad/0x193
[<c05c5af1>] addrconf_init+0x1b/0x193
[<c05c59c9>] inet6_init+0x1f0/0x2ad
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0109ef2>] save_stack_trace+0x20/0x3a
[<c0143056>] lock_acquire+0x79/0x93
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c03a6395>] dev_mc_add+0x1a/0x6a
[<c02ee472>] bond_change_active_slave+0x1a9/0x3bf
[<c02ec7a3>] bond_update_speed_duplex+0x26/0x65
[<c02ee991>] bond_select_active_slave+0x97/0xd3
[<c02ed20b>] bond_compute_features+0x45/0x84
[<c02ef9a4>] bond_enslave+0x6a7/0x884
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c02f617b>] bonding_store_slaves+0x1ae/0x2fb
[<c02f5fcd>] bonding_store_slaves+0x0/0x2fb
[<c02ce8b7>] dev_attr_store+0x27/0x2c
[<c019bda1>] sysfs_write_file+0xad/0xe0
[<c019bcf4>] sysfs_write_file+0x0/0xe0
[<c0168e5c>] vfs_write+0x8a/0x10c
[<c0118562>] do_page_fault+0x0/0x54a
[<c01693e1>] sys_write+0x41/0x67
[<c0103e92>] sysenter_past_esp+0x5f/0xa5
[<ffffffff>] 0xffffffff
-> (lweventlist_lock){.+..} ops: 10 {
initial-use at:
[<c014197a>] mark_lock+0x64/0x451
[<c0142890>] __lock_acquire+0x4ba/0xc07
[<c02e363c>] e1000_read_phy_reg+0x1c7/0x1d3
[<c02e346b>] e1000_write_phy_reg+0xb9/0xc3
[<c024a82e>] delay_tsc+0x25/0x3b
[<c0143056>] lock_acquire+0x79/0x93
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c043ab8f>] _spin_lock_irqsave+0x3f/0x6c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac4af>] linkwatch_fire_event+0x25/0x37
[<c02e1c23>] e1000_probe+0xad1/0xbe8
[<c0257f1b>] pci_device_probe+0x36/0x57
[<c02d0e3f>] driver_probe_device+0xe1/0x15f
[<c043ae09>] _spin_unlock+0x25/0x3b
[<c0437e92>] klist_next+0x58/0x6d
[<c02d0f4f>] __driver_attach+0x0/0x7f
[<c02d0f98>] __driver_attach+0x49/0x7f
[<c02d03e3>] bus_for_each_dev+0x36/0x58
[<c02d0c97>] driver_attach+0x16/0x18
[<c02d0f4f>] __driver_attach+0x0/0x7f
[<c02d06da>] bus_add_driver+0x6d/0x18d
[<c0258065>] __pci_register_driver+0x53/0x7f
[<c05be5de>] e1000_init_module+0x45/0x7c
[<c05a9499>] kernel_init+0x150/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c05a9349>] kernel_init+0x0/0x2b7
[<c0104baf>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
in-softirq-W at:
[<c011d1c0>] __wake_up_common+0x32/0x5c
[<c0142816>] __lock_acquire+0x440/0xc07
[<c043aed5>] _spin_unlock_irqrestore+0x40/0x58
[<c0143056>] lock_acquire+0x79/0x93
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c02dfee1>] e1000_watchdog+0x0/0x5c9
[<c043ab8f>] _spin_lock_irqsave+0x3f/0x6c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac4af>] linkwatch_fire_event+0x25/0x37
[<c03af436>] netif_carrier_on+0x16/0x27
[<c02e0136>] e1000_watchdog+0x255/0x5c9
[<c02dfee1>] e1000_watchdog+0x0/0x5c9
[<c012e02e>] run_timer_softirq+0xfa/0x15d
[<c012a982>] __do_softirq+0x56/0xdb
[<c0141f7d>] trace_hardirqs_on+0x10c/0x14c
[<c012a994>] __do_softirq+0x68/0xdb
[<c012aa3d>] do_softirq+0x36/0x51
[<c012abe3>] irq_exit+0x43/0x4e
[<c0114122>] smp_apic_timer_interrupt+0x74/0x80
[<c0104a01>] apic_timer_interrupt+0x29/0x38
[<c0104a0b>] apic_timer_interrupt+0x33/0x38
[<c01600d8>] sys_swapon+0x254/0x9aa
[<c01021a6>] mwait_idle_with_hints+0x3b/0x3f
[<c0102447>] mwait_idle+0x0/0xf
[<c0102581>] cpu_idle+0x99/0xc6
[<c05a98c7>] start_kernel+0x2c7/0x2cf
[<c05a90e0>] unknown_bootoption+0x0/0x195
[<ffffffff>] 0xffffffff
}
... key at: [<c058a194>] lweventlist_lock+0x14/0x40
... acquired at:
[<c0142df3>] __lock_acquire+0xa1d/0xc07
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c0142f95>] __lock_acquire+0xbbf/0xc07
[<c0143056>] lock_acquire+0x79/0x93
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c043ab8f>] _spin_lock_irqsave+0x3f/0x6c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac3eb>] linkwatch_add_event+0xd/0x2c
[<c03ac4af>] linkwatch_fire_event+0x25/0x37
[<c03af436>] netif_carrier_on+0x16/0x27
[<c02ede0c>] bond_set_carrier+0x31/0x55
[<c02ee998>] bond_select_active_slave+0x9e/0xd3
[<c02ed20b>] bond_compute_features+0x45/0x84
[<c02ef9a4>] bond_enslave+0x6a7/0x884
[<c0439964>] mutex_lock_nested+0x2a4/0x2ac
[<c02f617b>] bonding_store_slaves+0x1ae/0x2fb
[<c02f5fcd>] bonding_store_slaves+0x0/0x2fb
[<c02ce8b7>] dev_attr_store+0x27/0x2c
[<c019bda1>] sysfs_write_file+0xad/0xe0
[<c019bcf4>] sysfs_write_file+0x0/0xe0
[<c0168e5c>] vfs_write+0x8a/0x10c
[<c0118562>] do_page_fault+0x0/0x54a
[<c01693e1>] sys_write+0x41/0x67
[<c0103e92>] sysenter_past_esp+0x5f/0xa5
[<ffffffff>] 0xffffffff
stack backtrace:
Pid: 9, comm: events/0 Not tainted 2.6.24-rc7 #1
[<c0140b2c>] print_irq_inversion_bug+0x108/0x112
[<c0141911>] check_usage_forwards+0x3c/0x41
[<c0141afd>] mark_lock+0x1e7/0x451
[<c0142816>] __lock_acquire+0x440/0xc07
[<c013fdfe>] get_lock_stats+0xd/0x2e
[<c013fe29>] put_lock_stats+0xa/0x1e
[<c0143056>] lock_acquire+0x79/0x93
[<c041255a>] mld_ifc_timer_expire+0x130/0x1fb
[<c041242a>] mld_ifc_timer_expire+0x0/0x1fb
[<c043a872>] _spin_lock_bh+0x3b/0x64
[<c041255a>] mld_ifc_timer_expire+0x130/0x1fb
[<c041255a>] mld_ifc_timer_expire+0x130/0x1fb
[<c041242a>] mld_ifc_timer_expire+0x0/0x1fb
[<c0141f7d>] trace_hardirqs_on+0x10c/0x14c
[<c041242a>] mld_ifc_timer_expire+0x0/0x1fb
[<c012e02e>] run_timer_softirq+0xfa/0x15d
[<c012a982>] __do_softirq+0x56/0xdb
[<c0141f7d>] trace_hardirqs_on+0x10c/0x14c
[<c012a994>] __do_softirq+0x68/0xdb
[<c012aa3d>] do_softirq+0x36/0x51
[<c012af26>] local_bh_enable_ip+0xad/0xed
[<c03bfa03>] rt_run_flush+0x64/0x8b
[<c03e9b8a>] fib_netdev_event+0x61/0x65
[<c013ac34>] notifier_call_chain+0x2a/0x52
[<c013ac7e>] raw_notifier_call_chain+0x17/0x1a
[<c03a33d9>] netdev_state_change+0x18/0x29
[<c03ac611>] __linkwatch_run_queue+0x150/0x17e
[<c03ac65c>] linkwatch_event+0x1d/0x22
[<c0133d87>] run_workqueue+0xdb/0x1b6
[<c0133d33>] run_workqueue+0x87/0x1b6
[<c03ac63f>] linkwatch_event+0x0/0x22
[<c01347a7>] worker_thread+0x0/0x85
[<c0134820>] worker_thread+0x79/0x85
[<c0137255>] autoremove_wake_function+0x0/0x35
[<c013719e>] kthread+0x38/0x5e
[<c0137166>] kthread+0x0/0x5e
[<c0104baf>] kernel_thread_helper+0x7/0x10
=======================
bonding: bond0: enslaving eth1 as a backup interface with a down link.
bond0: no IPv6 routers present
No other patches were applied.
Best regards,
Krzysztof Olędzki
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch for 2.6.24? 1/1] bonding: locking fix
2008-01-18 0:58 ` Krzysztof Oledzki
@ 2008-01-18 1:45 ` Jay Vosburgh
2008-01-18 8:34 ` Krzysztof Oledzki
0 siblings, 1 reply; 9+ messages in thread
From: Jay Vosburgh @ 2008-01-18 1:45 UTC (permalink / raw)
To: Krzysztof Oledzki
Cc: Andrew Morton, davem, jeff, shemminger, netdev, Andy Gospodarek
Krzysztof Oledzki <olel@ans.pl> wrote:
>> Andrew Morton <akpm@linux-foundation.org> wrote:
>> [...]
>>> Can we get this bug fixed please? Today? It has been known about for more
>>> than two months.
>>
>> I just reposted the complete fix; it's #1 of the series of 7.
>
>Bad news. :( 2.6.24-rc7 + patch #1 (bonding: fix locking in sysfs
>primary/active selection):
[...]
>=========================================================
>[ INFO: possible irq lock inversion dependency detected ]
>2.6.24-rc7 #1
>---------------------------------------------------------
>events/0/9 just changed the state of lock:
> (&mc->mca_lock){-+..}, at: [<c041255a>] mld_ifc_timer_expire+0x130/0x1fb
>but this lock took another, soft-read-irq-unsafe lock in the past:
> (&bond->lock){-.--}
None of the seven patches I posted just a bit ago will fix this
lockdep warning (which is a different thing that the bug Andrew inquired
about); I'm still working on that one.
For that one, I had posted this work in progress patch:
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 77d004d..6906dbc 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3937,8 +3937,6 @@ static void bond_set_multicast_list(struct net_device *bond_dev)
struct bonding *bond = bond_dev->priv;
struct dev_mc_list *dmi;
- write_lock_bh(&bond->lock);
-
/*
* Do promisc before checking multicast_mode
*/
@@ -3959,6 +3957,8 @@ static void bond_set_multicast_list(struct net_device *bond_dev)
bond_set_allmulti(bond, -1);
}
+ read_lock(&bond->lock);
+
bond->flags = bond_dev->flags;
/* looking for addresses to add to slaves' mc list */
@@ -3979,7 +3979,7 @@ static void bond_set_multicast_list(struct net_device *bond_dev)
bond_mc_list_destroy(bond);
bond_mc_list_copy(bond_dev->mc_list, bond, GFP_ATOMIC);
- write_unlock_bh(&bond->lock);
+ read_unlock(&bond->lock);
}
/*
which makes the warning go away, but Herbert Xu pointed out that
there is a potential problem with bond_enslave accessing the mc_lists
without sufficient locking. It's not the only offender, either, and the
bond->mc_list references really need to be protected by the bond_lock,
and the whole thing probably ought to use dev_mc_sync/unsync instead of
what it does now.
Since the bond_enslave, et al, business isn't a new problem, and
I've never heard of it being hit, I'm thinking now to just leave the
bond_enslave part for 2.6.25, and fix the lockdep warning for 2.6.24.
But I wanted to make sure dropping the write lock to a read lock
wasn't going to make something worse.
-J
---
-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [patch for 2.6.24? 1/1] bonding: locking fix
2008-01-18 1:45 ` Jay Vosburgh
@ 2008-01-18 8:34 ` Krzysztof Oledzki
2008-01-18 17:32 ` Jay Vosburgh
0 siblings, 1 reply; 9+ messages in thread
From: Krzysztof Oledzki @ 2008-01-18 8:34 UTC (permalink / raw)
To: Jay Vosburgh
Cc: Andrew Morton, davem, jeff, shemminger, netdev, Andy Gospodarek
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1857 bytes --]
On Thu, 17 Jan 2008, Jay Vosburgh wrote:
> Krzysztof Oledzki <olel@ans.pl> wrote:
>
>>> Andrew Morton <akpm@linux-foundation.org> wrote:
>>> [...]
>>>> Can we get this bug fixed please? Today? It has been known about for more
>>>> than two months.
>>>
>>> I just reposted the complete fix; it's #1 of the series of 7.
>>
>> Bad news. :( 2.6.24-rc7 + patch #1 (bonding: fix locking in sysfs
>> primary/active selection):
> [...]
>> =========================================================
>> [ INFO: possible irq lock inversion dependency detected ]
>> 2.6.24-rc7 #1
>> ---------------------------------------------------------
>> events/0/9 just changed the state of lock:
>> (&mc->mca_lock){-+..}, at: [<c041255a>] mld_ifc_timer_expire+0x130/0x1fb
>> but this lock took another, soft-read-irq-unsafe lock in the past:
>> (&bond->lock){-.--}
>
> None of the seven patches I posted just a bit ago will fix this
> lockdep warning (which is a different thing that the bug Andrew inquired
> about); I'm still working on that one.
>
> For that one, I had posted this work in progress patch:
Yes, this one works.
> which makes the warning go away, but Herbert Xu pointed out that
> there is a potential problem with bond_enslave accessing the mc_lists
> without sufficient locking. It's not the only offender, either, and the
> bond->mc_list references really need to be protected by the bond_lock,
> and the whole thing probably ought to use dev_mc_sync/unsync instead of
> what it does now.
>
> Since the bond_enslave, et al, business isn't a new problem, and
> I've never heard of it being hit, I'm thinking now to just leave the
> bond_enslave part for 2.6.25, and fix the lockdep warning for 2.6.24.
It is a new problem, as it never happened with <=2.6.23.
Best regards,
Krzysztof Olędzki
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch for 2.6.24? 1/1] bonding: locking fix
2008-01-18 8:34 ` Krzysztof Oledzki
@ 2008-01-18 17:32 ` Jay Vosburgh
0 siblings, 0 replies; 9+ messages in thread
From: Jay Vosburgh @ 2008-01-18 17:32 UTC (permalink / raw)
To: Krzysztof Oledzki
Cc: Andrew Morton, davem, jeff, shemminger, netdev, Andy Gospodarek
Krzysztof Oledzki <olel@ans.pl> wrote:
[...]
>> which makes the warning go away, but Herbert Xu pointed out that
>> there is a potential problem with bond_enslave accessing the mc_lists
>> without sufficient locking. It's not the only offender, either, and the
>> bond->mc_list references really need to be protected by the bond_lock,
>> and the whole thing probably ought to use dev_mc_sync/unsync instead of
>> what it does now.
>>
>> Since the bond_enslave, et al, business isn't a new problem, and
>> I've never heard of it being hit, I'm thinking now to just leave the
>> bond_enslave part for 2.6.25, and fix the lockdep warning for 2.6.24.
>
>It is a new problem, as it never happened with <=2.6.23.
The lockdep warning is new, but I was referring to the lack of
mutexing between bond_enslave, bond_release, etc and the
set_multicast_list's use of the mc_lists. There has never been mutexing
of the mc_lists in bond_enslave & friends, so that is not a new problem.
-J
---
-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [patch for 2.6.24? 1/1] bonding: locking fix
2008-01-17 23:42 ` Andrew Morton
2008-01-18 0:26 ` Jay Vosburgh
@ 2008-01-21 0:57 ` David Miller
1 sibling, 0 replies; 9+ messages in thread
From: David Miller @ 2008-01-21 0:57 UTC (permalink / raw)
To: akpm; +Cc: fubar, olel, jeff, shemminger, netdev
From: Andrew Morton <akpm@linux-foundation.org>
Date: Thu, 17 Jan 2008 15:42:43 -0800
> Applying this:
>
> --- a/drivers/net/bonding/bond_sysfs.c~bonding-locking-fix
> +++ a/drivers/net/bonding/bond_sysfs.c
> @@ -1111,8 +1111,6 @@ static ssize_t bonding_store_primary(str
> out:
> write_unlock_bh(&bond->lock);
>
> - rtnl_unlock();
> -
> return count;
> }
> static DEVICE_ATTR(primary, S_IRUGO | S_IWUSR, bonding_show_primary, bonding_store_primary);
>
>
> is better than doing nothing.
If you look at the change that introduced this:
commit 6603a6f25e4bca922a7dfbf0bf03072d98850176
Author: Jay Vosburgh <fubar@us.ibm.com>
Date: Wed Oct 17 17:37:50 2007 -0700
bonding: Convert more locks to _bh, acquire rtnl, for new locking
Convert more lock acquisitions to _bh flavor to avoid deadlock
with workqueue activity and add acquisition of RTNL in appropriate places.
Affects ALB mode, as well as core bonding functions and sysfs.
Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
It is clearly the author's intent to surround the execution
of this function (and also bonding_show_active_slave() which
was done correctly) with RTNL semaphore holding.
Therefore the correct fix, which I'll push, is:
commit 991a15cb1cd60a918bd864bb79e7649c30aab275
Author: David S. Miller <davem@davemloft.net>
Date: Sun Jan 20 16:55:20 2008 -0800
[BONDING]: Fix rtnl locking in bonding_store_primary().
Changeset 6603a6f25e4bca922a7dfbf0bf03072d98850176 (Convert more locks
to _bh, acquire rtnl, for new locking) added a regression.
A rtnl_unlock() was added but a rtnl_lock() was not.
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index 11b76b3..4845c01 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -1075,6 +1075,7 @@ static ssize_t bonding_store_primary(struct device *d,
struct slave *slave;
struct bonding *bond = to_bond(d);
+ rtnl_lock();
write_lock_bh(&bond->lock);
if (!USES_PRIMARY(bond->params.mode)) {
printk(KERN_INFO DRV_NAME
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-01-21 0:57 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200801140904.m0E94vJd020425@imap1.linux-foundation.org>
[not found] ` <Pine.LNX.4.64.0801142313350.26034@bizon.gios.gov.pl>
2008-01-14 22:47 ` [patch for 2.6.24? 1/1] bonding: locking fix Andrew Morton
2008-01-14 23:01 ` Jay Vosburgh
2008-01-17 23:42 ` Andrew Morton
2008-01-18 0:26 ` Jay Vosburgh
2008-01-18 0:58 ` Krzysztof Oledzki
2008-01-18 1:45 ` Jay Vosburgh
2008-01-18 8:34 ` Krzysztof Oledzki
2008-01-18 17:32 ` Jay Vosburgh
2008-01-21 0:57 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).