* 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).