[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202104021954.V5vmcgKs-lkp@intel.com>
Date: Fri, 2 Apr 2021 20:05:03 +0800
From: kernel test robot <lkp@...el.com>
To: Fabio Aiuto <fabioaiuto83@...il.com>, gregkh@...uxfoundation.org
Cc: kbuild-all@...ts.01.org, dan.carpenter@...cle.com, joe@...ches.com,
linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org,
Fabio Aiuto <fabioaiuto83@...il.com>
Subject: Re: [PATCH 14/16] staging: rtl8723bs: remove all RT_TRACE logs in
core/rtw_wlan_util.c
Hi Fabio,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on staging/staging-testing]
url: https://github.com/0day-ci/linux/commits/Fabio-Aiuto/staging-rtl8723bs-remove-RT_TRACE-logs-in-core/20210402-180617
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 305271ab4f54f9ae7b9080473d1699c9511ae235
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/82938cd5ff3eee363edd3d213473b248daa1be0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Fabio-Aiuto/staging-rtl8723bs-remove-RT_TRACE-logs-in-core/20210402-180617
git checkout 82938cd5ff3eee363edd3d213473b248daa1be0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
drivers/staging/rtl8723bs/core/rtw_wlan_util.c: In function 'rtw_check_bcn_info':
>> drivers/staging/rtl8723bs/core/rtw_wlan_util.c:1379:5: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
1379 | ;
| ^
drivers/staging/rtl8723bs/core/rtw_wlan_util.c:1386:6: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
1386 | ;
| ^
drivers/staging/rtl8723bs/core/rtw_wlan_util.c: In function 'process_addba_req':
drivers/staging/rtl8723bs/core/rtw_wlan_util.c:1776:11: warning: variable 'start_seq' set but not used [-Wunused-but-set-variable]
1776 | u16 tid, start_seq, param;
| ^~~~~~~~~
In file included from drivers/staging/rtl8723bs/include/drv_types.h:33,
from drivers/staging/rtl8723bs/core/rtw_wlan_util.c:9:
At top level:
drivers/staging/rtl8723bs/include/rtw_security.h:336:28: warning: 'K' defined but not used [-Wunused-const-variable=]
336 | static const unsigned long K[64] = {
| ^
vim +/if +1379 drivers/staging/rtl8723bs/core/rtw_wlan_util.c
1213
1214 int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
1215 {
1216 unsigned int len;
1217 unsigned char *p;
1218 unsigned short val16, subtype;
1219 struct wlan_network *cur_network = &(Adapter->mlmepriv.cur_network);
1220 /* u8 wpa_ie[255], rsn_ie[255]; */
1221 u16 wpa_len = 0, rsn_len = 0;
1222 u8 encryp_protocol = 0;
1223 struct wlan_bssid_ex *bssid;
1224 int group_cipher = 0, pairwise_cipher = 0, is_8021x = 0;
1225 unsigned char *pbuf;
1226 u32 wpa_ielen = 0;
1227 u8 *pbssid = GetAddr3Ptr(pframe);
1228 struct HT_info_element *pht_info = NULL;
1229 struct ieee80211_ht_cap *pht_cap = NULL;
1230 u32 bcn_channel;
1231 unsigned short ht_cap_info;
1232 unsigned char ht_info_infos_0;
1233 struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
1234 int ssid_len;
1235
1236 if (is_client_associated_to_ap(Adapter) == false)
1237 return true;
1238
1239 len = packet_len - sizeof(struct ieee80211_hdr_3addr);
1240
1241 if (len > MAX_IE_SZ) {
1242 DBG_871X("%s IE too long for survey event\n", __func__);
1243 return _FAIL;
1244 }
1245
1246 if (memcmp(cur_network->network.MacAddress, pbssid, 6)) {
1247 DBG_871X("Oops: rtw_check_network_encrypt linked but recv other bssid bcn %pM %pM\n",
1248 MAC_ARG(pbssid), MAC_ARG(cur_network->network.MacAddress));
1249 return true;
1250 }
1251
1252 bssid = rtw_zmalloc(sizeof(struct wlan_bssid_ex));
1253 if (!bssid) {
1254 DBG_871X("%s rtw_zmalloc fail !!!\n", __func__);
1255 return true;
1256 }
1257
1258 if ((pmlmepriv->timeBcnInfoChkStart != 0) && (jiffies_to_msecs(jiffies - pmlmepriv->timeBcnInfoChkStart) > DISCONNECT_BY_CHK_BCN_FAIL_OBSERV_PERIOD_IN_MS)) {
1259 pmlmepriv->timeBcnInfoChkStart = 0;
1260 pmlmepriv->NumOfBcnInfoChkFail = 0;
1261 }
1262
1263 subtype = GetFrameSubType(pframe) >> 4;
1264
1265 if (subtype == WIFI_BEACON)
1266 bssid->Reserved[0] = 1;
1267
1268 bssid->Length = sizeof(struct wlan_bssid_ex) - MAX_IE_SZ + len;
1269
1270 /* below is to copy the information element */
1271 bssid->IELength = len;
1272 memcpy(bssid->IEs, (pframe + sizeof(struct ieee80211_hdr_3addr)), bssid->IELength);
1273
1274 /* check bw and channel offset */
1275 /* parsing HT_CAP_IE */
1276 p = rtw_get_ie(bssid->IEs + _FIXED_IE_LENGTH_, WLAN_EID_HT_CAPABILITY, &len, bssid->IELength - _FIXED_IE_LENGTH_);
1277 if (p && len > 0) {
1278 pht_cap = (struct ieee80211_ht_cap *)(p + 2);
1279 ht_cap_info = le16_to_cpu(pht_cap->cap_info);
1280 } else {
1281 ht_cap_info = 0;
1282 }
1283 /* parsing HT_INFO_IE */
1284 p = rtw_get_ie(bssid->IEs + _FIXED_IE_LENGTH_, WLAN_EID_HT_OPERATION, &len, bssid->IELength - _FIXED_IE_LENGTH_);
1285 if (p && len > 0) {
1286 pht_info = (struct HT_info_element *)(p + 2);
1287 ht_info_infos_0 = pht_info->infos[0];
1288 } else {
1289 ht_info_infos_0 = 0;
1290 }
1291 if (ht_cap_info != cur_network->BcnInfo.ht_cap_info ||
1292 ((ht_info_infos_0&0x03) != (cur_network->BcnInfo.ht_info_infos_0&0x03))) {
1293 DBG_871X("%s bcn now: ht_cap_info:%x ht_info_infos_0:%x\n", __func__,
1294 ht_cap_info, ht_info_infos_0);
1295 DBG_871X("%s bcn link: ht_cap_info:%x ht_info_infos_0:%x\n", __func__,
1296 cur_network->BcnInfo.ht_cap_info, cur_network->BcnInfo.ht_info_infos_0);
1297 DBG_871X("%s bw mode change\n", __func__);
1298 {
1299 /* bcn_info_update */
1300 cur_network->BcnInfo.ht_cap_info = ht_cap_info;
1301 cur_network->BcnInfo.ht_info_infos_0 = ht_info_infos_0;
1302 /* to do : need to check that whether modify related register of BB or not */
1303 }
1304 /* goto _mismatch; */
1305 }
1306
1307 /* Checking for channel */
1308 p = rtw_get_ie(bssid->IEs + _FIXED_IE_LENGTH_, WLAN_EID_DS_PARAMS, &len, bssid->IELength - _FIXED_IE_LENGTH_);
1309 if (p) {
1310 bcn_channel = *(p + 2);
1311 } else {/* In 5G, some ap do not have DSSET IE checking HT info for channel */
1312 rtw_get_ie(bssid->IEs + _FIXED_IE_LENGTH_, WLAN_EID_HT_OPERATION, &len, bssid->IELength - _FIXED_IE_LENGTH_);
1313 if (pht_info) {
1314 bcn_channel = pht_info->primary_channel;
1315 } else { /* we don't find channel IE, so don't check it */
1316 /* DBG_871X("Oops: %s we don't find channel IE, so don't check it\n", __func__); */
1317 bcn_channel = Adapter->mlmeextpriv.cur_channel;
1318 }
1319 }
1320 if (bcn_channel != Adapter->mlmeextpriv.cur_channel) {
1321 DBG_871X("%s beacon channel:%d cur channel:%d disconnect\n", __func__,
1322 bcn_channel, Adapter->mlmeextpriv.cur_channel);
1323 goto _mismatch;
1324 }
1325
1326 /* checking SSID */
1327 ssid_len = 0;
1328 p = rtw_get_ie(bssid->IEs + _FIXED_IE_LENGTH_, WLAN_EID_SSID, &len, bssid->IELength - _FIXED_IE_LENGTH_);
1329 if (p) {
1330 ssid_len = *(p + 1);
1331 if (ssid_len > NDIS_802_11_LENGTH_SSID)
1332 ssid_len = 0;
1333 }
1334 memcpy(bssid->Ssid.Ssid, (p + 2), ssid_len);
1335 bssid->Ssid.SsidLength = ssid_len;
1336
1337 if (memcmp(bssid->Ssid.Ssid, cur_network->network.Ssid.Ssid, 32) ||
1338 bssid->Ssid.SsidLength != cur_network->network.Ssid.SsidLength) {
1339 if (bssid->Ssid.Ssid[0] != '\0' && bssid->Ssid.SsidLength != 0) { /* not hidden ssid */
1340 DBG_871X("%s(), SSID is not match\n", __func__);
1341 goto _mismatch;
1342 }
1343 }
1344
1345 /* check encryption info */
1346 val16 = rtw_get_capability((struct wlan_bssid_ex *)bssid);
1347
1348 if (val16 & BIT(4))
1349 bssid->Privacy = 1;
1350 else
1351 bssid->Privacy = 0;
1352
1353 if (cur_network->network.Privacy != bssid->Privacy) {
1354 DBG_871X("%s(), privacy is not match\n", __func__);
1355 goto _mismatch;
1356 }
1357
1358 rtw_get_sec_ie(bssid->IEs, bssid->IELength, NULL, &rsn_len, NULL, &wpa_len);
1359
1360 if (rsn_len > 0) {
1361 encryp_protocol = ENCRYP_PROTOCOL_WPA2;
1362 } else if (wpa_len > 0) {
1363 encryp_protocol = ENCRYP_PROTOCOL_WPA;
1364 } else {
1365 if (bssid->Privacy)
1366 encryp_protocol = ENCRYP_PROTOCOL_WEP;
1367 }
1368
1369 if (cur_network->BcnInfo.encryp_protocol != encryp_protocol) {
1370 DBG_871X("%s(): enctyp is not match\n", __func__);
1371 goto _mismatch;
1372 }
1373
1374 if (encryp_protocol == ENCRYP_PROTOCOL_WPA || encryp_protocol == ENCRYP_PROTOCOL_WPA2) {
1375 pbuf = rtw_get_wpa_ie(&bssid->IEs[12], &wpa_ielen, bssid->IELength-12);
1376 if (pbuf && (wpa_ielen > 0)) {
1377 if (rtw_parse_wpa_ie(pbuf, wpa_ielen + 2, &group_cipher,
1378 &pairwise_cipher, &is_8021x) == _SUCCESS)
> 1379 ;
1380 } else {
1381 pbuf = rtw_get_wpa2_ie(&bssid->IEs[12], &wpa_ielen, bssid->IELength-12);
1382
1383 if (pbuf && (wpa_ielen > 0)) {
1384 if (rtw_parse_wpa2_ie(pbuf, wpa_ielen + 2, &group_cipher,
1385 &pairwise_cipher, &is_8021x) == _SUCCESS)
1386 ;
1387 }
1388 }
1389
1390 if (pairwise_cipher != cur_network->BcnInfo.pairwise_cipher || group_cipher != cur_network->BcnInfo.group_cipher) {
1391 DBG_871X("%s pairwise_cipher(%x:%x) or group_cipher(%x:%x) is not match\n", __func__,
1392 pairwise_cipher, cur_network->BcnInfo.pairwise_cipher,
1393 group_cipher, cur_network->BcnInfo.group_cipher);
1394 goto _mismatch;
1395 }
1396
1397 if (is_8021x != cur_network->BcnInfo.is_8021x) {
1398 DBG_871X("%s authentication is not match\n", __func__);
1399 goto _mismatch;
1400 }
1401 }
1402
1403 kfree(bssid);
1404 return _SUCCESS;
1405
1406 _mismatch:
1407 kfree(bssid);
1408
1409 if (pmlmepriv->NumOfBcnInfoChkFail == 0)
1410 pmlmepriv->timeBcnInfoChkStart = jiffies;
1411
1412 pmlmepriv->NumOfBcnInfoChkFail++;
1413 DBG_871X("%s by %s - NumOfChkFail = %d (SeqNum of this Beacon frame = %d).\n", __func__, ADPT_ARG(Adapter), pmlmepriv->NumOfBcnInfoChkFail, GetSequence(pframe));
1414
1415 if ((pmlmepriv->timeBcnInfoChkStart != 0) && (jiffies_to_msecs(jiffies - pmlmepriv->timeBcnInfoChkStart) <= DISCONNECT_BY_CHK_BCN_FAIL_OBSERV_PERIOD_IN_MS)
1416 && (pmlmepriv->NumOfBcnInfoChkFail >= DISCONNECT_BY_CHK_BCN_FAIL_THRESHOLD)) {
1417 DBG_871X("%s by %s - NumOfChkFail = %d >= threshold : %d (in %d ms), return FAIL.\n", __func__, ADPT_ARG(Adapter), pmlmepriv->NumOfBcnInfoChkFail,
1418 DISCONNECT_BY_CHK_BCN_FAIL_THRESHOLD, jiffies_to_msecs(jiffies - pmlmepriv->timeBcnInfoChkStart));
1419 pmlmepriv->timeBcnInfoChkStart = 0;
1420 pmlmepriv->NumOfBcnInfoChkFail = 0;
1421 return _FAIL;
1422 }
1423
1424 return _SUCCESS;
1425 }
1426
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (59887 bytes)
Powered by blists - more mailing lists