Centos-kernel-stream-9/net/mac80211
Íñigo Huguet fbe36f7cd9 wifi: mac80211: mlme: Fix double unlock on assoc success handling
Bugzilla: https://bugzilla.redhat.com/2136122

commit 6546646a7fb0d7fe1caef947889497c16aaecc8c
Author: Rafael Mendonca <rafaelmendsr@gmail.com>
Date:   Sun Sep 25 11:34:19 2022 -0300

    wifi: mac80211: mlme: Fix double unlock on assoc success handling
    
    Commit 6911458dc428 ("wifi: mac80211: mlme: refactor assoc success
    handling") moved the per-link setup out of ieee80211_assoc_success() into a
    new function ieee80211_assoc_config_link() but missed to remove the unlock
    of 'sta_mtx' in case of HE capability/operation missing on HE AP, which
    leads to a double unlock:
    
    ieee80211_assoc_success() {
        ...
        ieee80211_assoc_config_link() {
            ...
            if (!(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HE) &&
                (!elems->he_cap || !elems->he_operation)) {
                mutex_unlock(&sdata->local->sta_mtx);
                ...
            }
            ...
        }
        ...
        mutex_unlock(&sdata->local->sta_mtx);
        ...
    }
    
    Fixes: 6911458dc428 ("wifi: mac80211: mlme: refactor assoc success handling")
    Signed-off-by: Rafael Mendonca <rafaelmendsr@gmail.com>
    Link: https://lore.kernel.org/r/20220925143420.784975-1-rafaelmendsr@gmail.com
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
2022-11-28 12:57:54 +01:00
..
Kconfig
Makefile mac80211: Handle station association response with EHT 2022-05-31 14:50:45 +02:00
aead_api.c
aead_api.h
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.h
aes_gmac.c
aes_gmac.h
agg-rx.c wifi: mac80211: fix multi-BSSID element parsing 2022-11-28 12:57:31 +01:00
agg-tx.c wifi: mac80211: expand ieee80211_mgmt_tx() for MLO 2022-11-28 12:57:45 +01:00
airtime.c wifi: mac80211: move some future per-link data to bss_conf 2022-11-28 12:56:58 +01:00
cfg.c wifi: mac80211: remove erroneous sband/link validation 2022-11-28 12:57:46 +01:00
chan.c wifi: mac80211: replace link_id with link_conf in switch/(un)assign_vif_chanctx() 2022-11-28 12:57:34 +01:00
debug.h wifi: mac80211: debug: omit link if non-MLO connection 2022-11-28 12:57:26 +01:00
debugfs.c wifi: mac80211: optionally implement MLO multicast TX 2022-11-28 12:57:45 +01:00
debugfs.h
debugfs_key.c wifi: mac80211: reorg some iface data structs for MLD 2022-11-28 12:56:58 +01:00
debugfs_key.h
debugfs_netdev.c wifi: mac80211: RCU-ify link/link_conf pointers 2022-11-28 12:57:26 +01:00
debugfs_netdev.h
debugfs_sta.c wifi: mac80211: make sta airtime deficit field s32 instead of s64 2022-11-28 12:57:10 +01:00
debugfs_sta.h
driver-ops.c wifi: mac80211: change QoS settings API to take link into account 2022-11-28 12:57:28 +01:00
driver-ops.h wifi: mac80211: remove link_id parameter from link_info_changed() 2022-11-28 12:57:34 +01:00
eht.c wifi: mac80211: RCU-ify link STA pointers 2022-11-28 12:57:05 +01:00
ethtool.c wifi: mac80211: ethtool: use deflink for now 2022-11-28 12:57:05 +01:00
fils_aead.c
fils_aead.h
he.c wifi: mac80211: RCU-ify link STA pointers 2022-11-28 12:57:05 +01:00
ht.c wifi: mac80211: move ieee80211_request_smps_mgd_work 2022-11-28 12:57:27 +01:00
ibss.c wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected 2022-11-28 12:57:52 +01:00
ieee80211_i.h wifi: mac80211: rx: track link in RX data 2022-11-28 12:57:46 +01:00
iface.c wifi: mac80211: fix link data leak 2022-11-28 12:57:46 +01:00
key.c wifi: mac80211: reorg some iface data structs for MLD 2022-11-28 12:56:58 +01:00
key.h wifi: mac80211: refactor some key code 2022-11-28 12:56:57 +01:00
led.c
led.h
main.c wifi: mac80211: prohibit DEAUTH_NEED_MGD_TX_PREP in MLO 2022-11-28 12:57:35 +01:00
mesh.c wifi: mac80211: fix multi-BSSID element parsing 2022-11-28 12:57:31 +01:00
mesh.h
mesh_hwmp.c wifi: mac80211: fix multi-BSSID element parsing 2022-11-28 12:57:31 +01:00
mesh_pathtbl.c
mesh_plink.c wifi: mac80211: fix up link station creation/insertion 2022-11-28 12:57:38 +01:00
mesh_ps.c
mesh_sync.c
michael.c
michael.h
mlme.c wifi: mac80211: mlme: Fix double unlock on assoc success handling 2022-11-28 12:57:54 +01:00
ocb.c wifi: mac80211: fix up link station creation/insertion 2022-11-28 12:57:38 +01:00
offchannel.c wifi: mac80211: expand ieee80211_mgmt_tx() for MLO 2022-11-28 12:57:45 +01:00
pm.c
rate.c wifi: mac80211: make ieee80211_check_rate_mask() link-aware 2022-11-28 12:57:35 +01:00
rate.h wifi: mac80211: make ieee80211_check_rate_mask() link-aware 2022-11-28 12:57:35 +01:00
rc80211_minstrel_ht.c wifi: mac80211: fix memory corruption in minstrel_ht_update_rates() 2022-11-28 12:57:54 +01:00
rc80211_minstrel_ht.h mac80211: minstrel_ht: support ieee80211_rate_status 2022-11-28 12:56:47 +01:00
rc80211_minstrel_ht_debugfs.c
rx.c wifi: mac80211: fix link warning in RX agg timer expiry 2022-11-28 12:57:52 +01:00
s1g.c mac80211: prepare sta handling for MLO support 2022-11-28 12:56:21 +01:00
scan.c wifi: mac80211: Fix UAF in ieee80211_scan_rx() 2022-11-28 12:57:51 +01:00
spectmgmt.c wifi: mac80211: separate out connection downgrade flags 2022-11-28 12:57:27 +01:00
sta_info.c net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-11-28 12:57:52 +01:00
sta_info.h wifi: mac80211: fix up link station creation/insertion 2022-11-28 12:57:38 +01:00
status.c wifi: mac80211: don't start TX with fq->lock to fix deadlock 2022-11-28 12:57:54 +01:00
tdls.c wifi: mac80211: optionally implement MLO multicast TX 2022-11-28 12:57:45 +01:00
tkip.c
tkip.h
trace.c
trace.h wifi: mac80211: remove link_id parameter from link_info_changed() 2022-11-28 12:57:34 +01:00
trace_msg.h mac80211: tracing: Use the new __vstring() helper 2022-11-28 12:57:46 +01:00
tx.c wifi: mac80211: fix regression with non-QoS drivers 2022-11-28 12:57:54 +01:00
util.c wifi: mac80211: ensure vif queues are operational after start 2022-11-28 12:57:54 +01:00
vht.c wifi: mac80211: Support multi link in ieee80211_recalc_min_chandef() 2022-11-28 12:57:34 +01:00
wep.c
wep.h
wme.c wifi: mac80211: fix queue selection for mesh/OCB interfaces 2022-11-28 12:57:14 +01:00
wme.h
wpa.c wifi: use struct_group to copy addresses 2022-11-28 12:57:53 +01:00
wpa.h wifi: mac80211: remove cipher scheme support 2022-11-28 12:56:57 +01:00