• Johan Hovold's avatar
    wifi: ath11k: fix temperature event locking · 1a5352a8
    Johan Hovold authored
    The ath11k active pdevs are protected by RCU but the temperature event
    handling code calling ath11k_mac_get_ar_by_pdev_id() was not marked as a
    read-side critical section as reported by RCU lockdep:
    
    	=============================
    	WARNING: suspicious RCU usage
    	6.6.0-rc6 #7 Not tainted
    	-----------------------------
    	drivers/net/wireless/ath/ath11k/mac.c:638 suspicious rcu_dereference_check() usage!
    
    	other info that might help us debug this:
    
    	rcu_scheduler_active = 2, debug_locks = 1
    	no locks held by swapper/0/0.
    	...
    	Call trace:
    	...
    	 lockdep_rcu_suspicious+0x16c/0x22c
    	 ath11k_mac_get_ar_by_pdev_id+0x194/0x1b0 [ath11k]
    	 ath11k_wmi_tlv_op_rx+0xa84/0x2c1c [ath11k]
    	 ath11k_htc_rx_completion_handler+0x388/0x510 [ath11k]
    
    Mark the code in question as an RCU read-side critical section to avoid
    any potential use-after-free issues.
    
    Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23
    
    Fixes: a41d1034 ("ath11k: add thermal sensor device support")
    Cc: stable@vger.kernel.org      # 5.7
    Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
    Acked-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://lore.kernel.org/r/20231019153115.26401-2-johan+linaro@kernel.org
    1a5352a8
wmi.c 274 KB