tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 
pending-ath11k
head:   0f82fec5679664bb91d6c167fd1a146f113e4197
commit: cbdb3159fdf450b7b3999a06600aa0e1fb78383f [198/205] ath11k: set 
additional values inside wmi_peer_assoc_complete_cmd

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
drivers/net/wireless/ath/ath11k/mac.c:1274 ath11k_peer_assoc_h_he() error: 
memcpy() 'he_cap->he_cap_elem.mac_cap_info' too small (6 vs 8)

Old smatch warnings:
drivers/net/wireless/ath/ath11k/mac.c:1276 ath11k_peer_assoc_h_he() error: 
memcpy() 'he_cap->he_cap_elem.phy_cap_info' too small (11 vs 12)

# 
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?id=cbdb3159fdf450b7b3999a06600aa0e1fb78383f
git remote add ath6kl 
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
git remote update ath6kl
git checkout cbdb3159fdf450b7b3999a06600aa0e1fb78383f
vim +1274 drivers/net/wireless/ath/ath11k/mac.c

258bbf52 Kalle Valo   2019-02-05  1260  
258bbf52 Kalle Valo   2019-02-05  1261  static void 
ath11k_peer_assoc_h_he(struct ath11k *ar,
258bbf52 Kalle Valo   2019-02-05  1262                                     
struct ieee80211_vif *vif,
258bbf52 Kalle Valo   2019-02-05  1263                                     
struct ieee80211_sta *sta,
258bbf52 Kalle Valo   2019-02-05  1264                                     
struct peer_assoc_params *arg)
258bbf52 Kalle Valo   2019-02-05  1265  {
17aca2d9 John Crispin 2019-06-03  1266          const struct 
ieee80211_sta_he_cap *he_cap = &sta->he_cap;
3db59a23 Kalle Valo   2019-06-12  1267          u16 v;
17aca2d9 John Crispin 2019-06-03  1268  
17aca2d9 John Crispin 2019-06-03  1269          if (!he_cap->has_he)
17aca2d9 John Crispin 2019-06-03  1270                  return;
17aca2d9 John Crispin 2019-06-03  1271  
17aca2d9 John Crispin 2019-06-03  1272          arg->he_flag = true;
17aca2d9 John Crispin 2019-06-03  1273  
17aca2d9 John Crispin 2019-06-03 @1274          
memcpy(&arg->peer_he_cap_macinfo, he_cap->he_cap_elem.mac_cap_info,
17aca2d9 John Crispin 2019-06-03  1275                 
sizeof(arg->peer_he_cap_macinfo));

Smatch thinks these are different sizes...  I don't have a copy of
struct peer_assoc_params so I can't check.

17aca2d9 John Crispin 2019-06-03  1276          
memcpy(&arg->peer_he_cap_phyinfo, he_cap->he_cap_elem.phy_cap_info,
17aca2d9 John Crispin 2019-06-03  1277                 
sizeof(arg->peer_he_cap_phyinfo));
17aca2d9 John Crispin 2019-06-03  1278          memcpy(&arg->peer_he_ops, 
&vif->bss_conf.he_operation,
17aca2d9 John Crispin 2019-06-03  1279                 
sizeof(arg->peer_he_ops));
cbdb3159 John Crispin 2019-06-17  1280          
arg->peer_he_cap_macinfo_internal = 0x0;
17aca2d9 John Crispin 2019-06-03  1281  
17aca2d9 John Crispin 2019-06-03  1282          if 
(he_cap->he_cap_elem.phy_cap_info[6] &
17aca2d9 John Crispin 2019-06-03  1283              
IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT) {
17aca2d9 John Crispin 2019-06-03  1284                  int bit = 7;
17aca2d9 John Crispin 2019-06-03  1285                  int nss, ru;
17aca2d9 John Crispin 2019-06-03  1286  
17aca2d9 John Crispin 2019-06-03  1287                  arg->peer_ppet.numss_m1 
= he_cap->ppe_thres[0] &
17aca2d9 John Crispin 2019-06-03  1288                                          
  IEEE80211_PPE_THRES_NSS_MASK;
17aca2d9 John Crispin 2019-06-03  1289                  
arg->peer_ppet.ru_bit_mask =
17aca2d9 John Crispin 2019-06-03  1290                          
(he_cap->ppe_thres[0] &
17aca2d9 John Crispin 2019-06-03  1291                           
IEEE80211_PPE_THRES_RU_INDEX_BITMASK_MASK) >>
17aca2d9 John Crispin 2019-06-03  1292                          
IEEE80211_PPE_THRES_RU_INDEX_BITMASK_POS;
17aca2d9 John Crispin 2019-06-03  1293  
17aca2d9 John Crispin 2019-06-03  1294                  for (nss = 0; nss <= 
arg->peer_ppet.numss_m1; nss++) {
17aca2d9 John Crispin 2019-06-03  1295                          for (ru = 0; ru 
< 4; ru++) {
17aca2d9 John Crispin 2019-06-03  1296                                  u32 val 
= 0;
17aca2d9 John Crispin 2019-06-03  1297                                  int i;
17aca2d9 John Crispin 2019-06-03  1298  
17aca2d9 John Crispin 2019-06-03  1299                                  if 
((arg->peer_ppet.ru_bit_mask & BIT(ru)) == 0)
17aca2d9 John Crispin 2019-06-03  1300                                          
continue;
17aca2d9 John Crispin 2019-06-03  1301                                  for (i 
= 0; i < 6; i++) {
17aca2d9 John Crispin 2019-06-03  1302                                          
val >>= 1;
17aca2d9 John Crispin 2019-06-03  1303                                          
val |= ((he_cap->ppe_thres[bit / 8] >>
17aca2d9 John Crispin 2019-06-03  1304                                          
         (bit % 8)) & 0x1) << 5;
17aca2d9 John Crispin 2019-06-03  1305                                          
bit++;
17aca2d9 John Crispin 2019-06-03  1306                                  }
17aca2d9 John Crispin 2019-06-03  1307                                  
arg->peer_ppet.ppet16_ppet8_ru3_ru0[nss] |=
17aca2d9 John Crispin 2019-06-03  1308                                          
                        val << (ru * 6);
17aca2d9 John Crispin 2019-06-03  1309                          }
17aca2d9 John Crispin 2019-06-03  1310                  }
17aca2d9 John Crispin 2019-06-03  1311          }
17aca2d9 John Crispin 2019-06-03  1312  
17aca2d9 John Crispin 2019-06-03  1313          switch (sta->bandwidth) {
17aca2d9 John Crispin 2019-06-03  1314          case IEEE80211_STA_RX_BW_160:
17aca2d9 John Crispin 2019-06-03  1315                  if 
(he_cap->he_cap_elem.phy_cap_info[0] &
17aca2d9 John Crispin 2019-06-03  1316                      
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G) {
3db59a23 Kalle Valo   2019-06-12  1317                          v = 
le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80p80);
3db59a23 Kalle Valo   2019-06-12  1318                          
arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
3db59a23 Kalle Valo   2019-06-12  1319  
3db59a23 Kalle Valo   2019-06-12  1320                          v = 
le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80p80);
3db59a23 Kalle Valo   2019-06-12  1321                          
arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
3db59a23 Kalle Valo   2019-06-12  1322  
17aca2d9 John Crispin 2019-06-03  1323                          
arg->peer_he_mcs_count++;
17aca2d9 John Crispin 2019-06-03  1324                  }
3db59a23 Kalle Valo   2019-06-12  1325  
3db59a23 Kalle Valo   2019-06-12  1326                  v = 
le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_160);
3db59a23 Kalle Valo   2019-06-12  1327                  
arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
3db59a23 Kalle Valo   2019-06-12  1328  
3db59a23 Kalle Valo   2019-06-12  1329                  v = 
le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_160);
3db59a23 Kalle Valo   2019-06-12  1330                  
arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
3db59a23 Kalle Valo   2019-06-12  1331  
17aca2d9 John Crispin 2019-06-03  1332                  
arg->peer_he_mcs_count++;
17aca2d9 John Crispin 2019-06-03  1333                  /* drop through */
17aca2d9 John Crispin 2019-06-03  1334  
17aca2d9 John Crispin 2019-06-03  1335          default:
3db59a23 Kalle Valo   2019-06-12  1336                  v = 
le16_to_cpu(he_cap->he_mcs_nss_supp.rx_mcs_80);
3db59a23 Kalle Valo   2019-06-12  1337                  
arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
3db59a23 Kalle Valo   2019-06-12  1338                  v = 
le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80);
3db59a23 Kalle Valo   2019-06-12  1339                  
arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
17aca2d9 John Crispin 2019-06-03  1340                  
arg->peer_he_mcs_count++;
17aca2d9 John Crispin 2019-06-03  1341                  break;
17aca2d9 John Crispin 2019-06-03  1342          }
258bbf52 Kalle Valo   2019-02-05  1343  }
258bbf52 Kalle Valo   2019-02-05  1344  

:::::: The code at line 1274 was first introduced by commit
:::::: 17aca2d9a969788a7f1e3e0c72b5485bf6a432a4 ath11k: add HE support

:::::: TO: John Crispin <[email protected]>
:::::: CC: Kalle Valo <[email protected]>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

_______________________________________________
ath10k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath10k

Reply via email to