• Thomas Pedersen's avatar
    mac80211: mesh: fix RCU warning · 452989b7
    Thomas Pedersen authored
    [ Upstream commit 55184244 ]
    
    ifmsh->csa is an RCU-protected pointer. The writer context
    in ieee80211_mesh_finish_csa() is already mutually
    exclusive with wdev->sdata.mtx, but the RCU checker did
    not know this. Use rcu_dereference_protected() to avoid a
    warning.
    
    fixes the following warning:
    
    [   12.519089] =============================
    [   12.520042] WARNING: suspicious RCU usage
    [   12.520652] 5.1.0-rc7-wt+ #16 Tainted: G        W
    [   12.521409] -----------------------------
    [   12.521972] net/mac80211/mesh.c:1223 suspicious rcu_dereference_check() usage!
    [   12.522928] other info that might help us debug this:
    [   12.523984] rcu_scheduler_active = 2, debug_locks = 1
    [   12.524855] 5 locks held by kworker/u8:2/152:
    [   12.525438]  #0: 00000000057be08c ((wq_completion)phy0){+.+.}, at: process_one_work+0x1a2/0x620
    [   12.526607]  #1: 0000000059c6b07a ((work_completion)(&sdata->csa_finalize_work)){+.+.}, at: process_one_work+0x1a2/0x620
    [   12.528001]  #2: 00000000f184ba7d (&wdev->mtx){+.+.}, at: ieee80211_csa_finalize_work+0x2f/0x90
    [   12.529116]  #3: 00000000831a1f54 (&local->mtx){+.+.}, at: ieee80211_csa_finalize_work+0x47/0x90
    [   12.530233]  #4: 00000000fd06f988 (&local->chanctx_mtx){+.+.}, at: ieee80211_csa_finalize_work+0x51/0x90
    Signed-off-by: default avatarThomas Pedersen <thomas@eero.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    452989b7
mesh.c 41 KB