INFO: possible circular locking detected [when unloading the bondingdriver]

From: Alan Jenkins
Date: Sun Sep 13 2009 - 08:34:06 EST


I found this warning after loading and unloading all the modules I had
available. I can reproduce it by hibernating the system, then loading
and unloading the bonding module.

Regards
Alan

[ 123.484225] Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
[ 123.484229] bonding: Warning: either miimon or arp_interval and
arp_ip_target module parameters must be specified, otherwise bonding
will not detect link failures! see bonding.txt for details.
[ 125.790929]
[ 125.790931] =======================================================
[ 125.790936] [ INFO: possible circular locking dependency detected ]
[ 125.790940] 2.6.31-rc8debug #50
[ 125.790942] -------------------------------------------------------
[ 125.790946] modprobe/8372 is trying to acquire lock:
[ 125.790948] (cpu_add_remove_lock){+.+.+.}, at: [<ffffffff81048ef2>]
cpu_maps_update_begin+0x12/0x20
[ 125.790961]
[ 125.790962] but task is already holding lock:
[ 125.790965] (rtnl_mutex){+.+.+.}, at: [<ffffffff812d0aa2>]
rtnl_lock+0x12/0x20
[ 125.790974]
[ 125.790975] which lock already depends on the new lock.
[ 125.790976]
[ 125.790978]
[ 125.790979] the existing dependency chain (in reverse order) is:
[ 125.790982]
[ 125.790983] -> #3 (rtnl_mutex){+.+.+.}:
[ 125.790989] [<ffffffff810741d9>] validate_chain+0xb99/0x11d0
[ 125.790996] [<ffffffff81074b6e>] __lock_acquire+0x35e/0xa30
[ 125.791001] [<ffffffff810752d7>] lock_acquire+0x97/0x110
[ 125.791006] [<ffffffff8134f046>] mutex_lock_nested+0x56/0x310
[ 125.791012] [<ffffffff812d0aa2>] rtnl_lock+0x12/0x20
[ 125.791016] [<ffffffff812d2079>] linkwatch_event+0x9/0x40
[ 125.791021] [<ffffffff8105cafa>] worker_thread+0x23a/0x350
[ 125.791027] [<ffffffff81060f56>] kthread+0xa6/0xb0
[ 125.791032] [<ffffffff8100ce5a>] child_rip+0xa/0x20
[ 125.791037] [<ffffffffffffffff>] 0xffffffffffffffff
[ 125.791051]
[ 125.791052] -> #2 ((linkwatch_work).work){+.+.+.}:
[ 125.791058] [<ffffffff810741d9>] validate_chain+0xb99/0x11d0
[ 125.791063] [<ffffffff81074b6e>] __lock_acquire+0x35e/0xa30
[ 125.791068] [<ffffffff810752d7>] lock_acquire+0x97/0x110
[ 125.791073] [<ffffffff8105caf4>] worker_thread+0x234/0x350
[ 125.791077] [<ffffffff81060f56>] kthread+0xa6/0xb0
[ 125.791082] [<ffffffff8100ce5a>] child_rip+0xa/0x20
[ 125.791087] [<ffffffffffffffff>] 0xffffffffffffffff
[ 125.791092]
[ 125.791093] -> #1 (events){+.+.+.}:
[ 125.791098] [<ffffffff810741d9>] validate_chain+0xb99/0x11d0
[ 125.791104] [<ffffffff81074b6e>] __lock_acquire+0x35e/0xa30
[ 125.791108] [<ffffffff810752d7>] lock_acquire+0x97/0x110
[ 125.791114] [<ffffffff8105b758>]
cleanup_workqueue_thread+0x48/0xd0
[ 125.791119] [<ffffffff8133dffa>] workqueue_cpu_callback+0x9a/0x130
[ 125.791125] [<ffffffff81353dce>] notifier_call_chain+0x5e/0xa0
[ 125.791130] [<ffffffff81065549>]
__raw_notifier_call_chain+0x9/0x10
[ 125.791136] [<ffffffff81065561>] raw_notifier_call_chain+0x11/0x20
[ 125.791141] [<ffffffff8133c213>] _cpu_down+0x173/0x2b0
[ 125.791145] [<ffffffff81049148>] disable_nonboot_cpus+0x98/0x130
[ 125.791150] [<ffffffff81081f97>] hibernation_snapshot+0x187/0x250
[ 125.791156] [<ffffffff81082178>] hibernate+0x118/0x1c0
[ 125.791160] [<ffffffff81080863>] state_store+0xd3/0xf0
[ 125.791165] [<ffffffff81199fe7>] kobj_attr_store+0x17/0x20
[ 125.791172] [<ffffffff8113e7b4>] sysfs_write_file+0xf4/0x150
[ 125.791178] [<ffffffff810e3557>] vfs_write+0xc7/0x1a0
[ 125.791184] [<ffffffff810e3ba0>] sys_write+0x50/0x90
[ 125.791189] [<ffffffff8100bdab>] system_call_fastpath+0x16/0x1b
[ 125.791194] [<ffffffffffffffff>] 0xffffffffffffffff
[ 125.791205]
[ 125.791205] -> #0 (cpu_add_remove_lock){+.+.+.}:
[ 125.791211] [<ffffffff81073c0d>] validate_chain+0x5cd/0x11d0
[ 125.791216] [<ffffffff81074b6e>] __lock_acquire+0x35e/0xa30
[ 125.791221] [<ffffffff810752d7>] lock_acquire+0x97/0x110
[ 125.791225] [<ffffffff8134f046>] mutex_lock_nested+0x56/0x310
[ 125.791230] [<ffffffff81048ef2>] cpu_maps_update_begin+0x12/0x20
[ 125.791235] [<ffffffff8105b842>] destroy_workqueue+0x22/0xc0
[ 125.791240] [<ffffffffa03afdfa>] bond_uninit+0x3a/0x70 [bonding]
[ 125.791252] [<ffffffff812c5e8d>] rollback_registered+0xbd/0x120
[ 125.791258] [<ffffffff812c5f0d>] unregister_netdevice+0x1d/0x70
[ 125.791262] [<ffffffffa03ad71f>] bond_free_all+0x4f/0xa0 [bonding]
[ 125.791273] [<ffffffffa03ba075>] bonding_exit+0x35/0x3c [bonding]
[ 125.791283] [<ffffffff8107ddc6>] sys_delete_module+0x176/0x230
[ 125.791288] [<ffffffff8100bdab>] system_call_fastpath+0x16/0x1b
[ 125.791293] [<ffffffffffffffff>] 0xffffffffffffffff
[ 125.791298]
[ 125.791299] other info that might help us debug this:
[ 125.791300]
[ 125.791304] 1 lock held by modprobe/8372:
[ 125.791306] #0: (rtnl_mutex){+.+.+.}, at: [<ffffffff812d0aa2>]
rtnl_lock+0x12/0x20
[ 125.791314]
[ 125.791315] stack backtrace:
[ 125.791319] Pid: 8372, comm: modprobe Not tainted 2.6.31-rc8debug #50
[ 125.791322] Call Trace:
[ 125.791328] [<ffffffff81073494>] print_circular_bug_tail+0x94/0xe0
[ 125.791333] [<ffffffff81073c0d>] validate_chain+0x5cd/0x11d0
[ 125.791338] [<ffffffff81074b6e>] __lock_acquire+0x35e/0xa30
[ 125.791343] [<ffffffff810752d7>] lock_acquire+0x97/0x110
[ 125.791349] [<ffffffff81048ef2>] ? cpu_maps_update_begin+0x12/0x20
[ 125.791354] [<ffffffff8134f046>] mutex_lock_nested+0x56/0x310
[ 125.791358] [<ffffffff81048ef2>] ? cpu_maps_update_begin+0x12/0x20
[ 125.791363] [<ffffffff8113f974>] ? release_sysfs_dirent+0x54/0xc0
[ 125.791368] [<ffffffff81048ef2>] cpu_maps_update_begin+0x12/0x20
[ 125.791373] [<ffffffff8105b842>] destroy_workqueue+0x22/0xc0
[ 125.791383] [<ffffffffa03afdfa>] bond_uninit+0x3a/0x70 [bonding]
[ 125.791388] [<ffffffff812c5e8d>] rollback_registered+0xbd/0x120
[ 125.791397] [<ffffffffa03abfb6>] ? bond_work_cancel_all+0x16/0x130
[bonding]
[ 125.791402] [<ffffffff812c5f0d>] unregister_netdevice+0x1d/0x70
[ 125.791411] [<ffffffffa03ad71f>] bond_free_all+0x4f/0xa0 [bonding]
[ 125.791421] [<ffffffffa03ba075>] bonding_exit+0x35/0x3c [bonding]
[ 125.791425] [<ffffffff8107ddc6>] sys_delete_module+0x176/0x230
[ 125.791430] [<ffffffff8107186d>] ? trace_hardirqs_on_caller+0x14d/0x1a0
[ 125.791435] [<ffffffff81350a04>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 125.791441] [<ffffffff8100bdab>] system_call_fastpath+0x16/0x1b

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/