Circular lock, related to ath10k.
Ben Greear
greearb at candelatech.com
Wed Feb 12 17:57:59 EST 2014
I saw this while testing some dodgy firmware. I have a few changes to
ath10k, but I don't think there is anything that could cause this.
======================================================
[ INFO: possible circular locking dependency detected ]
3.14.0-rc1-wl-ath+ #9 Tainted: G C
-------------------------------------------------------
wpa_supplicant/3206 is trying to acquire lock:
(&local->sta_mtx){+.+.+.}, at: [<ffffffffa0386a2b>] sta_info_insert_rcu+0x9e/0xb8 [mac80211]
but task is already holding lock:
(&ar->conf_mutex){+.+.+.}, at: [<ffffffffa0588e61>] ath10k_bss_info_changed+0x43/0x6fa [ath10k_core]
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #1 (&ar->conf_mutex){+.+.+.}:
[<ffffffff810fde2b>] lock_acquire+0x82/0x9d
[<ffffffff815d5185>] mutex_lock_nested+0x68/0x3e0
[<ffffffffa0588662>] ath10k_sta_state+0x3b/0x40e [ath10k_core]
[<ffffffffa0385b9a>] drv_sta_state+0x87/0x17b [mac80211]
[<ffffffffa038625b>] sta_info_insert_finish+0x88/0x2b3 [mac80211]
[<ffffffffa0386a33>] sta_info_insert_rcu+0xa6/0xb8 [mac80211]
[<ffffffffa0386a52>] sta_info_insert+0xd/0x1a [mac80211]
[<ffffffffa03aaf0c>] ieee80211_prep_connection+0x579/0x681 [mac80211]
[<ffffffffa03ae245>] ieee80211_mgd_auth+0x1e6/0x285 [mac80211]
[<ffffffffa0395ff2>] ieee80211_auth+0x13/0x15 [mac80211]
[<ffffffffa02db35c>] cfg80211_mlme_auth+0x13c/0x190 [cfg80211]
[<ffffffffa02d881b>] nl80211_authenticate+0x295/0x2c1 [cfg80211]
[<ffffffff81544939>] genl_family_rcv_msg+0x246/0x2ba
[<ffffffff815449ea>] genl_rcv_msg+0x3d/0x60
[<ffffffff81543b24>] netlink_rcv_skb+0x3d/0x8b
[<ffffffff81543d23>] genl_rcv+0x24/0x34
[<ffffffff81543302>] netlink_unicast+0xc6/0x147
[<ffffffff81543923>] netlink_sendmsg+0x5a0/0x5e6
[<ffffffff81508db0>] __sock_sendmsg_nosec+0x25/0x27
[<ffffffff8150b521>] sock_sendmsg+0x5a/0x7b
[<ffffffff8150bb78>] ___sys_sendmsg+0x21f/0x2c0
[<ffffffff8150c847>] __sys_sendmsg+0x3d/0x5b
[<ffffffff8150c872>] SyS_sendmsg+0xd/0x19
[<ffffffff815dc3bd>] system_call_fastpath+0x1a/0x1f
-> #0 (&local->sta_mtx){+.+.+.}:
[<ffffffff810fd69d>] __lock_acquire+0xac6/0xe48
[<ffffffff810fde2b>] lock_acquire+0x82/0x9d
[<ffffffff815d5185>] mutex_lock_nested+0x68/0x3e0
[<ffffffffa0386a2b>] sta_info_insert_rcu+0x9e/0xb8 [mac80211]
[<ffffffffa0386a52>] sta_info_insert+0xd/0x1a [mac80211]
[<ffffffffa03aaf0c>] ieee80211_prep_connection+0x579/0x681 [mac80211]
[<ffffffffa03ae245>] ieee80211_mgd_auth+0x1e6/0x285 [mac80211]
[<ffffffffa0395ff2>] ieee80211_auth+0x13/0x15 [mac80211]
[<ffffffffa02db35c>] cfg80211_mlme_auth+0x13c/0x190 [cfg80211]
[<ffffffffa02d881b>] nl80211_authenticate+0x295/0x2c1 [cfg80211]
[<ffffffff81544939>] genl_family_rcv_msg+0x246/0x2ba
[<ffffffff815449ea>] genl_rcv_msg+0x3d/0x60
[<ffffffff81543b24>] netlink_rcv_skb+0x3d/0x8b
[<ffffffff81543d23>] genl_rcv+0x24/0x34
[<ffffffff81543302>] netlink_unicast+0xc6/0x147
[<ffffffff81543923>] netlink_sendmsg+0x5a0/0x5e6
[<ffffffff81508db0>] __sock_sendmsg_nosec+0x25/0x27
[<ffffffff8150b521>] sock_sendmsg+0x5a/0x7b
[<ffffffff8150bb78>] ___sys_sendmsg+0x21f/0x2c0
[<ffffffff8150c847>] __sys_sendmsg+0x3d/0x5b
[<ffffffff8150c872>] SyS_sendmsg+0xd/0x19
[<ffffffff815dc3bd>] system_call_fastpath+0x1a/0x1f
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(&ar->conf_mutex);
lock(&local->sta_mtx);
lock(&ar->conf_mutex);
lock(&local->sta_mtx);
*** DEADLOCK ***
5 locks held by wpa_supplicant/3206:
#0: (cb_lock){++++++}, at: [<ffffffff81543d14>] genl_rcv+0x15/0x34
#1: (genl_mutex){+.+.+.}, at: [<ffffffff81543f26>] genl_lock+0x12/0x14
#2: (rtnl_mutex){+.+.+.}, at: [<ffffffff8152b23d>] rtnl_lock+0x12/0x14
#3: (&wdev->mtx){+.+.+.}, at: [<ffffffffa02cbd88>] wdev_lock+0xf/0x11 [cfg80211]
#4: (&ar->conf_mutex){+.+.+.}, at: [<ffffffffa0588e61>] ath10k_bss_info_changed+0x43/0x6fa [ath10k_core]
stack backtrace:
CPU: 0 PID: 3206 Comm: wpa_supplicant Tainted: G C 3.14.0-rc1-wl-ath+ #9
Hardware name: To be filled by O.E.M. To be filled by O.E.M./HURONRIVER, BIOS 4.6.5 05/02/2012
ffffffff81f57ac0 ffff88021525d4d8 ffffffff815cfed3 0000000000000006
ffffffff81f57ac0 ffff88021525d528 ffffffff815cc171 ffff88021525d4f8
ffff8800d309c520 ffff8800d309cdb0 ffff8800d309c520 ffff8800d309cdb0
Call Trace:
[<ffffffff815cfed3>] dump_stack+0x4e/0x71
[<ffffffff815cc171>] print_circular_bug+0x1f8/0x209
[<ffffffff810fd69d>] __lock_acquire+0xac6/0xe48
[<ffffffff810fde2b>] lock_acquire+0x82/0x9d
[<ffffffffa0386a2b>] ? sta_info_insert_rcu+0x9e/0xb8 [mac80211]
[<ffffffff815d5185>] mutex_lock_nested+0x68/0x3e0
[<ffffffffa0386a2b>] ? sta_info_insert_rcu+0x9e/0xb8 [mac80211]
[<ffffffffa0386a2b>] ? sta_info_insert_rcu+0x9e/0xb8 [mac80211]
[<ffffffffa05891b7>] ? ath10k_bss_info_changed+0x399/0x6fa [ath10k_core]
[<ffffffffa0386a2b>] sta_info_insert_rcu+0x9e/0xb8 [mac80211]
[<ffffffffa0386a52>] sta_info_insert+0xd/0x1a [mac80211]
[<ffffffffa03aaf0c>] ieee80211_prep_connection+0x579/0x681 [mac80211]
[<ffffffffa03ae245>] ieee80211_mgd_auth+0x1e6/0x285 [mac80211]
[<ffffffffa0395ff2>] ieee80211_auth+0x13/0x15 [mac80211]
[<ffffffffa02db35c>] cfg80211_mlme_auth+0x13c/0x190 [cfg80211]
[<ffffffff815d5465>] ? mutex_lock_nested+0x348/0x3e0
[<ffffffffa02cbd88>] ? wdev_lock+0xf/0x11 [cfg80211]
[<ffffffffa02d881b>] nl80211_authenticate+0x295/0x2c1 [cfg80211]
[<ffffffff81544939>] genl_family_rcv_msg+0x246/0x2ba
[<ffffffff815d5465>] ? mutex_lock_nested+0x348/0x3e0
[<ffffffff815449ea>] genl_rcv_msg+0x3d/0x60
[<ffffffff815449ad>] ? genl_family_rcv_msg+0x2ba/0x2ba
[<ffffffff81543b24>] netlink_rcv_skb+0x3d/0x8b
[<ffffffff81543d23>] genl_rcv+0x24/0x34
[<ffffffff81543302>] netlink_unicast+0xc6/0x147
[<ffffffff81543923>] netlink_sendmsg+0x5a0/0x5e6
[<ffffffff810fd1c5>] ? __lock_acquire+0x5ee/0xe48
[<ffffffff81508db0>] __sock_sendmsg_nosec+0x25/0x27
[<ffffffff8150b521>] sock_sendmsg+0x5a/0x7b
[<ffffffff810fdd7c>] ? lock_release+0x14e/0x17b
[<ffffffff8116d932>] ? might_fault+0x9e/0xa5
[<ffffffff8116d8e9>] ? might_fault+0x55/0xa5
[<ffffffff81516469>] ? verify_iovec+0x60/0xb3
[<ffffffff8150bb78>] ___sys_sendmsg+0x21f/0x2c0
[<ffffffff810fd1c5>] ? __lock_acquire+0x5ee/0xe48
[<ffffffff811cf145>] ? fsnotify+0x260/0x29b
[<ffffffff811cef5b>] ? fsnotify+0x76/0x29b
[<ffffffff810fde3d>] ? lock_acquire+0x94/0x9d
[<ffffffff811163bf>] ? read_seqcount_begin.constprop.25+0x73/0x90
[<ffffffff8150c847>] __sys_sendmsg+0x3d/0x5b
[<ffffffff8150c872>] SyS_sendmsg+0xd/0x19
[<ffffffff815dc3bd>] system_call_fastpath+0x1a/0x1f
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list