* [linux-next:master 418/8513] drivers/net/wireless/microchip/wilc1000/cfg80211.c:361:42: sparse: sparse: incorrect type in assignment (different base types)
@ 2022-07-07 12:55 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-07-07 12:55 UTC (permalink / raw)
To: Ajay Singh; +Cc: kbuild-all, Linux Memory Management List, Kalle Valo
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 75d7bf5eae277f32dd952276aa41ae7915dba1b2
commit: c5b331d4f550fb78bf1a553b2517616a5ea913d6 [418/8513] wifi: wilc1000: add WPA3 SAE support
config: m68k-randconfig-s032-20220707 (https://download.01.org/0day-ci/archive/20220707/202207072029.R74fvL3p-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 11.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=c5b331d4f550fb78bf1a553b2517616a5ea913d6
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout c5b331d4f550fb78bf1a553b2517616a5ea913d6
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=m68k SHELL=/bin/bash drivers/net/wireless/microchip/wilc1000/ drivers/scsi/bfa/ drivers/scsi/qedi/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/wireless/microchip/wilc1000/cfg80211.c:361:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int key_mgmt_suite @@ got restricted __be32 [usertype] @@
drivers/net/wireless/microchip/wilc1000/cfg80211.c:361:42: sparse: expected unsigned int key_mgmt_suite
drivers/net/wireless/microchip/wilc1000/cfg80211.c:361:42: sparse: got restricted __be32 [usertype]
vim +361 drivers/net/wireless/microchip/wilc1000/cfg80211.c
300
301 static int connect(struct wiphy *wiphy, struct net_device *dev,
302 struct cfg80211_connect_params *sme)
303 {
304 struct wilc_vif *vif = netdev_priv(dev);
305 struct wilc_priv *priv = &vif->priv;
306 struct host_if_drv *wfi_drv = priv->hif_drv;
307 int ret;
308 u32 i;
309 u8 security = WILC_FW_SEC_NO;
310 enum authtype auth_type = WILC_FW_AUTH_ANY;
311 u32 cipher_group;
312 struct cfg80211_bss *bss;
313 void *join_params;
314 u8 ch;
315
316 vif->connecting = true;
317
318 cipher_group = sme->crypto.cipher_group;
319 if (cipher_group != 0) {
320 if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_2) {
321 if (cipher_group == WLAN_CIPHER_SUITE_TKIP)
322 security = WILC_FW_SEC_WPA2_TKIP;
323 else
324 security = WILC_FW_SEC_WPA2_AES;
325 } else if (sme->crypto.wpa_versions & NL80211_WPA_VERSION_1) {
326 if (cipher_group == WLAN_CIPHER_SUITE_TKIP)
327 security = WILC_FW_SEC_WPA_TKIP;
328 else
329 security = WILC_FW_SEC_WPA_AES;
330 } else {
331 ret = -ENOTSUPP;
332 netdev_err(dev, "%s: Unsupported cipher\n",
333 __func__);
334 goto out_error;
335 }
336 }
337
338 if ((sme->crypto.wpa_versions & NL80211_WPA_VERSION_1) ||
339 (sme->crypto.wpa_versions & NL80211_WPA_VERSION_2)) {
340 for (i = 0; i < sme->crypto.n_ciphers_pairwise; i++) {
341 u32 ciphers_pairwise = sme->crypto.ciphers_pairwise[i];
342
343 if (ciphers_pairwise == WLAN_CIPHER_SUITE_TKIP)
344 security |= WILC_FW_TKIP;
345 else
346 security |= WILC_FW_AES;
347 }
348 }
349
350 switch (sme->auth_type) {
351 case NL80211_AUTHTYPE_OPEN_SYSTEM:
352 auth_type = WILC_FW_AUTH_OPEN_SYSTEM;
353 break;
354
355 case NL80211_AUTHTYPE_SAE:
356 auth_type = WILC_FW_AUTH_SAE;
357 if (sme->ssid_len) {
358 memcpy(vif->auth.ssid.ssid, sme->ssid, sme->ssid_len);
359 vif->auth.ssid.ssid_len = sme->ssid_len;
360 }
> 361 vif->auth.key_mgmt_suite = cpu_to_be32(sme->crypto.akm_suites[0]);
362 ether_addr_copy(vif->auth.bssid, sme->bssid);
363 break;
364
365 default:
366 break;
367 }
368
369 if (sme->crypto.n_akm_suites) {
370 if (sme->crypto.akm_suites[0] == WLAN_AKM_SUITE_8021X)
371 auth_type = WILC_FW_AUTH_IEEE8021;
372 else if (sme->crypto.akm_suites[0] == WLAN_AKM_SUITE_PSK_SHA256)
373 auth_type = WILC_FW_AUTH_OPEN_SYSTEM_SHA256;
374 else if (sme->crypto.akm_suites[0] == WLAN_AKM_SUITE_8021X_SHA256)
375 auth_type = WILC_FW_AUTH_IEE8021X_SHA256;
376 }
377
378 if (wfi_drv->usr_scan_req.scan_result) {
379 netdev_err(vif->ndev, "%s: Scan in progress\n", __func__);
380 ret = -EBUSY;
381 goto out_error;
382 }
383
384 bss = cfg80211_get_bss(wiphy, sme->channel, sme->bssid, sme->ssid,
385 sme->ssid_len, IEEE80211_BSS_TYPE_ANY,
386 IEEE80211_PRIVACY(sme->privacy));
387 if (!bss) {
388 ret = -EINVAL;
389 goto out_error;
390 }
391
392 if (ether_addr_equal_unaligned(vif->bssid, bss->bssid)) {
393 ret = -EALREADY;
394 goto out_put_bss;
395 }
396
397 join_params = wilc_parse_join_bss_param(bss, &sme->crypto);
398 if (!join_params) {
399 netdev_err(dev, "%s: failed to construct join param\n",
400 __func__);
401 ret = -EINVAL;
402 goto out_put_bss;
403 }
404
405 ch = ieee80211_frequency_to_channel(bss->channel->center_freq);
406 vif->wilc->op_ch = ch;
407 if (vif->iftype != WILC_CLIENT_MODE)
408 vif->wilc->sta_ch = ch;
409
410 wilc_wlan_set_bssid(dev, bss->bssid, WILC_STATION_MODE);
411
412 wfi_drv->conn_info.security = security;
413 wfi_drv->conn_info.auth_type = auth_type;
414 wfi_drv->conn_info.ch = ch;
415 wfi_drv->conn_info.conn_result = cfg_connect_result;
416 wfi_drv->conn_info.arg = priv;
417 wfi_drv->conn_info.param = join_params;
418
419 ret = wilc_set_join_req(vif, bss->bssid, sme->ie, sme->ie_len);
420 if (ret) {
421 netdev_err(dev, "wilc_set_join_req(): Error\n");
422 ret = -ENOENT;
423 if (vif->iftype != WILC_CLIENT_MODE)
424 vif->wilc->sta_ch = WILC_INVALID_CHANNEL;
425 wilc_wlan_set_bssid(dev, NULL, WILC_STATION_MODE);
426 wfi_drv->conn_info.conn_result = NULL;
427 kfree(join_params);
428 goto out_put_bss;
429 }
430 kfree(join_params);
431 vif->bss = bss;
432 cfg80211_put_bss(wiphy, bss);
433 return 0;
434
435 out_put_bss:
436 cfg80211_put_bss(wiphy, bss);
437
438 out_error:
439 vif->connecting = false;
440 return ret;
441 }
442
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-07-07 12:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-07 12:55 [linux-next:master 418/8513] drivers/net/wireless/microchip/wilc1000/cfg80211.c:361:42: sparse: sparse: incorrect type in assignment (different base types) kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.