From: kernel test robot <lkp@intel.com>
To: Kevin Lund <kglund@google.com>,
johannes@sipsolutions.net, linux-wireless@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Kevin Lund <kglund@google.com>
Subject: Re: [PATCH 1/2] wifi: cfg80211: Reject (re-)association to the same BSSID
Date: Sat, 3 Jun 2023 13:55:55 +0800 [thread overview]
Message-ID: <202306031354.S6fuhpkH-lkp@intel.com> (raw)
In-Reply-To: <20230602225751.164525-1-kglund@google.com>
Hi Kevin,
kernel test robot noticed the following build errors:
[auto build test ERROR on wireless-next/main]
[also build test ERROR on wireless/main linus/master v6.4-rc4 next-20230602]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Kevin-Lund/wifi-mwifiex-Stop-rejecting-connection-attempts-while-connected/20230603-065907
base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main
patch link: https://lore.kernel.org/r/20230602225751.164525-1-kglund%40google.com
patch subject: [PATCH 1/2] wifi: cfg80211: Reject (re-)association to the same BSSID
config: mips-ath79_defconfig (https://download.01.org/0day-ci/archive/20230603/202306031354.S6fuhpkH-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 4faf3aaf28226a4e950c103a14f6fc1d1fdabb1b)
reproduce (this is a W=1 build):
mkdir -p ~/bin
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/09f9fe87fe3588d03dafcaf05b36b3e931f8c8eb
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Kevin-Lund/wifi-mwifiex-Stop-rejecting-connection-attempts-while-connected/20230603-065907
git checkout 09f9fe87fe3588d03dafcaf05b36b3e931f8c8eb
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=mips olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash net/wireless/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306031354.S6fuhpkH-lkp@intel.com/
All errors (new ones prefixed by >>):
>> net/wireless/sme.c:1454:30: error: no member named 'current_bss' in 'struct wireless_dev'
if (ether_addr_equal(wdev->current_bss->pub.bssid,
~~~~ ^
1 error generated.
vim +1454 net/wireless/sme.c
1418
1419 /*
1420 * API calls for nl80211/wext compatibility code
1421 */
1422 int cfg80211_connect(struct cfg80211_registered_device *rdev,
1423 struct net_device *dev,
1424 struct cfg80211_connect_params *connect,
1425 struct cfg80211_cached_keys *connkeys,
1426 const u8 *prev_bssid)
1427 {
1428 struct wireless_dev *wdev = dev->ieee80211_ptr;
1429 int err;
1430
1431 ASSERT_WDEV_LOCK(wdev);
1432
1433 /*
1434 * If we have an ssid_len, we're trying to connect or are
1435 * already connected, so reject a new SSID unless it's the
1436 * same (which is the case for re-association.)
1437 */
1438 if (wdev->u.client.ssid_len &&
1439 (wdev->u.client.ssid_len != connect->ssid_len ||
1440 memcmp(wdev->u.client.ssid, connect->ssid, wdev->u.client.ssid_len)))
1441 return -EALREADY;
1442
1443 /*
1444 * If connected, reject (re-)association unless prev_bssid
1445 * matches the current BSSID. Also reject if the current BSSID matches
1446 * the desired BSSID.
1447 */
1448 if (wdev->connected) {
1449 if (!prev_bssid)
1450 return -EALREADY;
1451 if (!ether_addr_equal(prev_bssid,
1452 wdev->u.client.connected_addr))
1453 return -ENOTCONN;
> 1454 if (ether_addr_equal(wdev->current_bss->pub.bssid,
1455 connect->bssid))
1456 return -EALREADY;
1457 }
1458
1459 /*
1460 * Reject if we're in the process of connecting with WEP,
1461 * this case isn't very interesting and trying to handle
1462 * it would make the code much more complex.
1463 */
1464 if (wdev->connect_keys)
1465 return -EINPROGRESS;
1466
1467 cfg80211_oper_and_ht_capa(&connect->ht_capa_mask,
1468 rdev->wiphy.ht_capa_mod_mask);
1469 cfg80211_oper_and_vht_capa(&connect->vht_capa_mask,
1470 rdev->wiphy.vht_capa_mod_mask);
1471
1472 if (connkeys && connkeys->def >= 0) {
1473 int idx;
1474 u32 cipher;
1475
1476 idx = connkeys->def;
1477 cipher = connkeys->params[idx].cipher;
1478 /* If given a WEP key we may need it for shared key auth */
1479 if (cipher == WLAN_CIPHER_SUITE_WEP40 ||
1480 cipher == WLAN_CIPHER_SUITE_WEP104) {
1481 connect->key_idx = idx;
1482 connect->key = connkeys->params[idx].key;
1483 connect->key_len = connkeys->params[idx].key_len;
1484
1485 /*
1486 * If ciphers are not set (e.g. when going through
1487 * iwconfig), we have to set them appropriately here.
1488 */
1489 if (connect->crypto.cipher_group == 0)
1490 connect->crypto.cipher_group = cipher;
1491
1492 if (connect->crypto.n_ciphers_pairwise == 0) {
1493 connect->crypto.n_ciphers_pairwise = 1;
1494 connect->crypto.ciphers_pairwise[0] = cipher;
1495 }
1496 }
1497 } else {
1498 if (WARN_ON(connkeys))
1499 return -EINVAL;
1500
1501 /* connect can point to wdev->wext.connect which
1502 * can hold key data from a previous connection
1503 */
1504 connect->key = NULL;
1505 connect->key_len = 0;
1506 connect->key_idx = 0;
1507 }
1508
1509 wdev->connect_keys = connkeys;
1510 memcpy(wdev->u.client.ssid, connect->ssid, connect->ssid_len);
1511 wdev->u.client.ssid_len = connect->ssid_len;
1512
1513 wdev->conn_bss_type = connect->pbss ? IEEE80211_BSS_TYPE_PBSS :
1514 IEEE80211_BSS_TYPE_ESS;
1515
1516 if (!rdev->ops->connect)
1517 err = cfg80211_sme_connect(wdev, connect, prev_bssid);
1518 else
1519 err = rdev_connect(rdev, dev, connect);
1520
1521 if (err) {
1522 wdev->connect_keys = NULL;
1523 /*
1524 * This could be reassoc getting refused, don't clear
1525 * ssid_len in that case.
1526 */
1527 if (!wdev->connected)
1528 wdev->u.client.ssid_len = 0;
1529 return err;
1530 }
1531
1532 return 0;
1533 }
1534
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2023-06-03 5:56 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-02 22:57 [PATCH 1/2] wifi: cfg80211: Reject (re-)association to the same BSSID Kevin Lund
2023-06-02 22:57 ` [PATCH 2/2] wifi: mwifiex: Stop rejecting connection attempts while connected Kevin Lund
2023-08-04 1:21 ` Brian Norris
2023-08-07 22:35 ` Kevin Lund
2023-08-15 0:21 ` Brian Norris
2023-06-03 3:32 ` [PATCH 1/2] wifi: cfg80211: Reject (re-)association to the same BSSID kernel test robot
2023-06-03 5:55 ` kernel test robot [this message]
2023-06-05 16:42 ` Johannes Berg
2023-08-04 17:29 ` Kevin Lund
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202306031354.S6fuhpkH-lkp@intel.com \
--to=lkp@intel.com \
--cc=johannes@sipsolutions.net \
--cc=kglund@google.com \
--cc=linux-wireless@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).