[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <2565e500-0e2f-c688-19e0-d241e4e7e031@gnuweeb.org>
Date: Mon, 4 Apr 2022 13:47:02 +0700
From: Ammar Faizi <ammarfaizi2@...weeb.org>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc: Ammar Faizi <ammarfaizi2@...weeb.org>,
"David S. Miller" <davem@...emloft.net>,
GNU/Weeb Mailing List <gwml@...r.gnuweeb.org>,
Jakub Kicinski <kuba@...nel.org>,
Johannes Berg <johannes@...solutions.net>,
Kalle Valo <kvalo@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Wireless Mailing List <linux-wireless@...r.kernel.org>,
netdev Mailing List <netdev@...r.kernel.org>,
Paolo Abeni <pabeni@...hat.com>,
Yan-Hsuan Chuang <tony0620emma@...il.com>
Subject: [Linux 5.18-rc1] WARNING: possible circular locking dependency
detected at (rtw_ops_config, ieee80211_mgd_probe_ap)
Hello maintainers,
I compiled Linux 5.18-rc1 on my machine this morning. Got the following
lockdep splat. Please shed some light. dmesg output and config attached
below...
If you need more information, please let me know.
Thank you!
<4>[ 361.927364][ T1166]
<4>[ 361.927370][ T1166] ======================================================
<4>[ 361.927371][ T1166] WARNING: possible circular locking dependency detected
<4>[ 361.927372][ T1166] 5.18.0-rc1-superb-owl #5 Tainted: G W
<4>[ 361.927373][ T1166] ------------------------------------------------------
<4>[ 361.927374][ T1166] kworker/u16:18/1166 is trying to acquire lock:
<4>[ 361.927375][ T1166] ffff888109f28198 (&rtwdev->mutex){+.+.}-{3:3}, at: rtw_ops_config (drivers/net/wireless/realtek/rtw88/mac80211.c:80) rtw88_core
<4>[ 361.927384][ T1166]
<4>[ 361.927384][ T1166] but task is already holding lock:
<4>[ 361.927384][ T1166] ffff888109f22988 (&local->iflist_mtx){+.+.}-{3:3}, at: ieee80211_mgd_probe_ap (net/mac80211/mlme.c:2722) mac80211
<4>[ 361.927408][ T1166]
<4>[ 361.927408][ T1166] which lock already depends on the new lock.
<4>[ 361.927408][ T1166]
<4>[ 361.927408][ T1166]
<4>[ 361.927408][ T1166] the existing dependency chain (in reverse order) is:
<4>[ 361.927409][ T1166]
<4>[ 361.927409][ T1166] -> #1 (&local->iflist_mtx){+.+.}-{3:3}:
<4>[ 361.927411][ T1166] lock_acquire (kernel/locking/lockdep.c:5641)
<4>[ 361.927414][ T1166] __mutex_lock_common (kernel/locking/mutex.c:600)
<4>[ 361.927417][ T1166] mutex_lock_nested (kernel/locking/mutex.c:733 kernel/locking/mutex.c:785)
<4>[ 361.927419][ T1166] ieee80211_iterate_interfaces (net/mac80211/util.c:815) mac80211
<4>[ 361.927434][ T1166] rtw_fw_c2h_cmd_handle (./include/net/mac80211.h:? drivers/net/wireless/realtek/rtw88/fw.c:177 drivers/net/wireless/realtek/rtw88/fw.c:243) rtw88_core
<4>[ 361.927437][ T1166] rtw_c2h_work (./include/linux/netdevice.h:3710 drivers/net/wireless/realtek/rtw88/main.c:274) rtw88_core
<4>[ 361.927441][ T1166] process_one_work (kernel/workqueue.c:2294)
<4>[ 361.927442][ T1166] worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437)
<4>[ 361.927444][ T1166] kthread (kernel/kthread.c:377)
<4>[ 361.927445][ T1166] ret_from_fork (??:?)
<4>[ 361.927447][ T1166]
<4>[ 361.927447][ T1166] -> #0 (&rtwdev->mutex){+.+.}-{3:3}:
<4>[ 361.927449][ T1166] validate_chain (kernel/locking/lockdep.c:? kernel/locking/lockdep.c:3188 kernel/locking/lockdep.c:3803)
<4>[ 361.927450][ T1166] __lock_acquire (kernel/locking/lockdep.c:5029)
<4>[ 361.927452][ T1166] lock_acquire (kernel/locking/lockdep.c:5641)
<4>[ 361.927453][ T1166] __mutex_lock_common (kernel/locking/mutex.c:600)
<4>[ 361.927455][ T1166] mutex_lock_nested (kernel/locking/mutex.c:733 kernel/locking/mutex.c:785)
<4>[ 361.927456][ T1166] rtw_ops_config (drivers/net/wireless/realtek/rtw88/mac80211.c:80) rtw88_core
<4>[ 361.927460][ T1166] ieee80211_hw_config (util.c:?) mac80211
<4>[ 361.927474][ T1166] ieee80211_recalc_ps (net/mac80211/mlme.c:1745 net/mac80211/mlme.c:1827) mac80211
<4>[ 361.927489][ T1166] ieee80211_mgd_probe_ap (net/mac80211/mlme.c:2723) mac80211
<4>[ 361.927503][ T1166] process_one_work (kernel/workqueue.c:2294)
<4>[ 361.927505][ T1166] worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437)
<4>[ 361.927506][ T1166] kthread (kernel/kthread.c:377)
<4>[ 361.927507][ T1166] ret_from_fork (??:?)
<4>[ 361.927508][ T1166]
<4>[ 361.927508][ T1166] other info that might help us debug this:
<4>[ 361.927508][ T1166]
<4>[ 361.927509][ T1166] Possible unsafe locking scenario:
<4>[ 361.927509][ T1166]
<4>[ 361.927510][ T1166] CPU0 CPU1
<4>[ 361.927510][ T1166] ---- ----
<4>[ 361.927511][ T1166] lock(&local->iflist_mtx);
<4>[ 361.927512][ T1166] lock(&rtwdev->mutex);
<4>[ 361.927513][ T1166] lock(&local->iflist_mtx);
<4>[ 361.927514][ T1166] lock(&rtwdev->mutex);
<4>[ 361.927515][ T1166]
<4>[ 361.927515][ T1166] *** DEADLOCK ***
<4>[ 361.927515][ T1166]
<4>[ 361.927516][ T1166] 4 locks held by kworker/u16:18/1166:
<4>[ 361.927517][ T1166] #0: ffff888169e80138 ((wq_completion)phy0){+.+.}-{0:0}, at: process_one_work (kernel/workqueue.c:?)
<4>[ 361.927520][ T1166] #1: ffffc9000272fe70 ((work_completion)(&ifmgd->monitor_work)){+.+.}-{0:0}, at: process_one_work (kernel/workqueue.c:?)
<4>[ 361.927523][ T1166] #2: ffff8881079b8d40 (&wdev->mtx){+.+.}-{3:3}, at: ieee80211_mgd_probe_ap (net/mac80211/mlme.c:2675) mac80211
<4>[ 361.927539][ T1166] #3: ffff888109f22988 (&local->iflist_mtx){+.+.}-{3:3}, at: ieee80211_mgd_probe_ap (net/mac80211/mlme.c:2722) mac80211
<4>[ 361.927554][ T1166]
<4>[ 361.927554][ T1166] stack backtrace:
<4>[ 361.927555][ T1166] CPU: 4 PID: 1166 Comm: kworker/u16:18 Tainted: G W 5.18.0-rc1-superb-owl #5 f3938b7027e9f0a27179200b9e84ac711db665f6
<4>[ 361.927557][ T1166] Hardware name: HP HP Laptop 14s-dq2xxx/87FD, BIOS F.15 09/15/2021
<4>[ 361.927559][ T1166] Workqueue: phy0 ieee80211_sta_monitor_work [mac80211]
<4>[ 361.927574][ T1166] Call Trace:
<4>[ 361.927575][ T1166] <TASK>
<4>[ 361.927577][ T1166] dump_stack_lvl (lib/dump_stack.c:107)
<4>[ 361.927580][ T1166] print_circular_bug (lib/dump_stack.c:? kernel/locking/lockdep.c:2023)
<4>[ 361.927582][ T1166] ? ret_from_fork (??:?)
<4>[ 361.927584][ T1166] ? stack_trace_save (kernel/stacktrace.c:123)
<4>[ 361.927586][ T1166] ? save_trace (kernel/locking/lockdep.c:551)
<4>[ 361.927587][ T1166] ? __bfs (kernel/locking/lockdep.c:1760)
<4>[ 361.927589][ T1166] check_noncircular (kernel/locking/lockdep.c:?)
<4>[ 361.927592][ T1166] validate_chain (kernel/locking/lockdep.c:? kernel/locking/lockdep.c:3188 kernel/locking/lockdep.c:3803)
<4>[ 361.927595][ T1166] ? lockdep_unlock (kernel/locking/lockdep.c:126)
<4>[ 361.927596][ T1166] ? validate_chain (kernel/locking/lockdep.c:? kernel/locking/lockdep.c:3807)
<4>[ 361.927599][ T1166] ? __lock_acquire (kernel/locking/lockdep.c:5029)
<4>[ 361.927601][ T1166] ? lock_is_held_type (kernel/locking/lockdep.c:? kernel/locking/lockdep.c:5685)
<4>[ 361.927603][ T1166] __lock_acquire (kernel/locking/lockdep.c:5029)
<4>[ 361.927605][ T1166] lock_acquire (kernel/locking/lockdep.c:5641)
<4>[ 361.927606][ T1166] ? rtw_ops_config (drivers/net/wireless/realtek/rtw88/mac80211.c:80) rtw88_core
<4>[ 361.927611][ T1166] ? rtw_ops_config (drivers/net/wireless/realtek/rtw88/mac80211.c:80) rtw88_core
<4>[ 361.927615][ T1166] __mutex_lock_common (kernel/locking/mutex.c:600)
<4>[ 361.927616][ T1166] ? rtw_ops_config (drivers/net/wireless/realtek/rtw88/mac80211.c:80) rtw88_core
<4>[ 361.927620][ T1166] ? lock_is_held_type (kernel/locking/lockdep.c:? kernel/locking/lockdep.c:5685)
<4>[ 361.927621][ T1166] ? rtw_ops_config (drivers/net/wireless/realtek/rtw88/mac80211.c:80) rtw88_core
<4>[ 361.927625][ T1166] mutex_lock_nested (kernel/locking/mutex.c:733 kernel/locking/mutex.c:785)
<4>[ 361.927627][ T1166] rtw_ops_config (drivers/net/wireless/realtek/rtw88/mac80211.c:80) rtw88_core
<4>[ 361.927631][ T1166] ieee80211_hw_config (util.c:?) mac80211
<4>[ 361.927647][ T1166] ieee80211_recalc_ps (net/mac80211/mlme.c:1745 net/mac80211/mlme.c:1827) mac80211
<4>[ 361.927662][ T1166] ieee80211_mgd_probe_ap (net/mac80211/mlme.c:2723) mac80211
<4>[ 361.927676][ T1166] process_one_work (kernel/workqueue.c:2294)
<4>[ 361.927679][ T1166] worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437)
<4>[ 361.927681][ T1166] ? worker_clr_flags (kernel/workqueue.c:2379)
<4>[ 361.927683][ T1166] kthread (kernel/kthread.c:377)
<4>[ 361.927684][ T1166] ? kthread_blkcg (kernel/kthread.c:331)
<4>[ 361.927686][ T1166] ret_from_fork (??:?)
<4>[ 361.927689][ T1166] </TASK>
<6>[ 719.468893][ T853] wlo1: authenticate with 82:01:2d:54:34:d1
<6>[ 719.468912][ T853] wlo1: bad VHT capabilities, disabling VHT
<6>[ 719.758430][ T853] wlo1: send auth to 82:01:2d:54:34:d1 (try 1/3)
<6>[ 719.779909][ T4552] wlo1: send auth to 82:01:2d:54:34:d1 (try 2/3)
<6>[ 719.789615][ T4552] wlo1: authenticated
<6>[ 719.791537][ T4552] wlo1: associate with 82:01:2d:54:34:d1 (try 1/3)
<6>[ 719.796222][ T4552] wlo1: RX AssocResp from 82:01:2d:54:34:d1 (capab=0x431 status=0 aid=1)
<6>[ 719.796455][ T4552] wlo1: associated
<7>[ 719.895029][ T4552] wlo1: Limiting TX power to 0 (-128 - 0) dBm as advertised by 82:01:2d:54:34:d1
<6>[ 1941.504451][ T853] wlo1: authenticate with 82:01:2d:54:34:d1
<6>[ 1941.504469][ T853] wlo1: bad VHT capabilities, disabling VHT
<6>[ 1941.794037][ T853] wlo1: send auth to 82:01:2d:54:34:d1 (try 1/3)
<6>[ 1941.815524][ T404] wlo1: send auth to 82:01:2d:54:34:d1 (try 2/3)
<6>[ 1941.840288][ T404] wlo1: send auth to 82:01:2d:54:34:d1 (try 3/3)
<6>[ 1941.850306][ T404] wlo1: authenticated
<6>[ 1941.854042][ T404] wlo1: associate with 82:01:2d:54:34:d1 (try 1/3)
<6>[ 1941.860680][ T404] wlo1: RX AssocResp from 82:01:2d:54:34:d1 (capab=0x431 status=0 aid=1)
<6>[ 1941.860918][ T404] wlo1: associated
<7>[ 1941.967448][ T404] wlo1: Limiting TX power to 0 (-128 - 0) dBm as advertised by 82:01:2d:54:34:d1
--
Ammar Faizi
View attachment "config_5.18-rc1" of type "text/plain" (263998 bytes)
Powered by blists - more mailing lists