[ammarfaizi2-block:kvalo/ath/pending 36/40] drivers/net/wireless/ath/ath11k/mac.c:8293 ath11k_mac_op_set_bios_sar_specs() warn: variable dereferenced before check 'sar' (see line 8280)

Kalle Valo quic_kvalo at quicinc.com
Wed Apr 27 04:19:34 PDT 2022


+ ath11k list

Dan Carpenter <dan.carpenter at oracle.com> writes:

> tree:   https://github.com/ammarfaizi2/linux-block kvalo/ath/pending
> head:   c9a8efc35304a89fc0751649945909caf03eeb29
> commit: 5ad5b356e75f402fec930cf0d77b6c7862850b55 [36/40] ath11k: Add support for SAR
> config: x86_64-randconfig-m001-20220418 (https://download.01.org/0day-ci/archive/20220418/202204182315.h96VPgso-lkp@intel.com/config)
> compiler: gcc-11 (Debian 11.2.0-19) 11.2.0
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp at intel.com>
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
>
> New smatch warnings:
> drivers/net/wireless/ath/ath11k/mac.c:8293 ath11k_mac_op_set_bios_sar_specs() warn: variable dereferenced before check 'sar' (see line 8280)
>
> vim +/sar +8293 drivers/net/wireless/ath/ath11k/mac.c
>
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8276  static int ath11k_mac_op_set_bios_sar_specs(struct ieee80211_hw *hw,
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8277  					    const struct cfg80211_sar_specs *sar)
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8278  {
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8279  	struct ath11k *ar = hw->priv;
> 5ad5b356e75f40 Baochen Qiang 2022-04-12 @8280  	const struct cfg80211_sar_sub_specs *sspec = sar->sub_specs;
>                                                                                              ^^^^^^^^^^^^^^
> Dereference
>
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8281  	int ret, index;
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8282  	u8 *sar_tbl;
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8283  	u32 i;
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8284  
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8285  	mutex_lock(&ar->conf_mutex);
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8286  
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8287  	if (!test_bit(WMI_TLV_SERVICE_BIOS_SAR_SUPPORT, ar->ab->wmi_ab.svc_map) ||
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8288  	    !ar->ab->hw_params.bios_sar_capa) {
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8289  		ret = -EOPNOTSUPP;
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8290  		goto exit;
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8291  	}
> 5ad5b356e75f40 Baochen Qiang 2022-04-12  8292  
> 5ad5b356e75f40 Baochen Qiang 2022-04-12 @8293  	if (!sar || sar->type != NL80211_SAR_TYPE_POWER ||
>                                                      ^^^
> Checked too late

Baochen, please submit a fix for this.



More information about the ath11k mailing list