From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Julia Lawall <julia.lawall@inria.fr>
Subject: drivers/net/wireless/nxp/nxpwifi/cfg80211.c:3401:1-5: alloc with no test, possible model on line 3403
Date: Tue, 15 Sep 2026 07:22:15 +0200 [thread overview]
Message-ID: <202609150741.WnNNTCOF-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Jeff Chen <jeff.chen_1@nxp.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 587858367581b9c55c3690f4e63382ad622719d4
commit: 73b01e57ed3e3d6102c0cbcb21f62086c5429437 wifi: nxp: add nxpwifi driver for IW61x
date: 9 weeks ago
:::::: branch date: 12 hours ago
:::::: commit date: 9 weeks ago
config: x86_64-randconfig-101-20260914 (https://download.01.org/0day-ci/archive/20260915/202609150741.WnNNTCOF-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 73b01e57ed3e ("wifi: nxp: add nxpwifi driver for IW61x")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202609150741.WnNNTCOF-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> drivers/net/wireless/nxp/nxpwifi/cfg80211.c:3401:1-5: alloc with no test, possible model on line 3403
--
>> drivers/net/wireless/nxp/nxpwifi/debugfs.c:948:11-13: WARNING opportunity for min()
--
>> drivers/net/wireless/nxp/nxpwifi/main.c:522:2-3: Unneeded semicolon
--
>> drivers/net/wireless/nxp/nxpwifi/debugfs.c:101:34-66: opportunity for str_on_off(( netif_carrier_ok ( priv -> netdev ) ))
--
>> drivers/net/wireless/nxp/nxpwifi/main.c:1091:35-65: opportunity for str_on_off(netif_carrier_ok ( priv -> netdev ))
--
>> drivers/net/wireless/nxp/nxpwifi/11n_rxreorder.c:210:26-29: ERROR: invalid reference to the index variable of the iterator on line 217
vim +3401 drivers/net/wireless/nxp/nxpwifi/cfg80211.c
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3312
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3313 static int
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3314 nxpwifi_cfg80211_authenticate(struct wiphy *wiphy,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3315 struct net_device *dev,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3316 struct cfg80211_auth_request *req)
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3317 {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3318 struct nxpwifi_private *priv = nxpwifi_netdev_get_priv(dev);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3319 struct nxpwifi_adapter *adapter = priv->adapter;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3320 struct sk_buff *skb;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3321 u16 pkt_len, auth_alg;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3322 int ret;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3323 struct ieee80211_mgmt *mgmt;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3324 struct nxpwifi_txinfo *tx_info;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3325 u8 trans = 1, status_code = 0;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3326 u8 *varptr = NULL;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3327
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3328 if (GET_BSS_ROLE(priv) == NXPWIFI_BSS_ROLE_UAP) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3329 nxpwifi_dbg(adapter, ERROR, "Interface role is AP\n");
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3330 return -EINVAL;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3331 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3332
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3333 if (priv->wdev.iftype != NL80211_IFTYPE_STATION) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3334 nxpwifi_dbg(adapter, ERROR,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3335 "Interface type is not correct (type %d)\n",
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3336 priv->wdev.iftype);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3337 return -EINVAL;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3338 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3339
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3340 if (!nxpwifi_is_channel_setting_allowable(priv, req->bss->channel))
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3341 return -EOPNOTSUPP;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3342
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3343 if (priv->auth_alg != WLAN_AUTH_SAE &&
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3344 (priv->auth_flag & HOST_MLME_AUTH_PENDING)) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3345 nxpwifi_dbg(adapter, ERROR, "Pending auth on going\n");
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3346 return -EBUSY;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3347 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3348
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3349 if (!priv->host_mlme_reg) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3350 priv->host_mlme_reg = true;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3351 priv->mgmt_frame_mask |= HOST_MLME_MGMT_MASK;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3352 nxpwifi_mgmt_frame_reg(priv, priv->mgmt_frame_mask);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3353 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3354
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3355 switch (req->auth_type) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3356 case NL80211_AUTHTYPE_OPEN_SYSTEM:
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3357 auth_alg = WLAN_AUTH_OPEN;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3358 break;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3359 case NL80211_AUTHTYPE_SHARED_KEY:
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3360 auth_alg = WLAN_AUTH_SHARED_KEY;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3361 break;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3362 case NL80211_AUTHTYPE_FT:
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3363 auth_alg = WLAN_AUTH_FT;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3364 break;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3365 case NL80211_AUTHTYPE_NETWORK_EAP:
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3366 auth_alg = WLAN_AUTH_LEAP;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3367 break;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3368 case NL80211_AUTHTYPE_SAE:
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3369 auth_alg = WLAN_AUTH_SAE;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3370 break;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3371 default:
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3372 nxpwifi_dbg(adapter, ERROR,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3373 "unsupported auth type=%d\n", req->auth_type);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3374 return -EOPNOTSUPP;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3375 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3376
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3377 if (!(priv->auth_flag & HOST_MLME_AUTH_PENDING)) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3378 ret = nxpwifi_remain_on_chan_cfg(priv, HOST_ACT_GEN_SET,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3379 req->bss->channel,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3380 AUTH_TX_DEFAULT_WAIT_TIME);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3381
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3382 if (!ret) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3383 priv->roc_cfg.cookie =
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3384 nxpwifi_roc_cookie(adapter);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3385 priv->roc_cfg.chan = *req->bss->channel;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3386 } else {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3387 return -EPERM;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3388 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3389 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3390
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3391 priv->sec_info.authentication_mode = auth_alg;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3392
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3393 nxpwifi_cancel_scan(adapter);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3394
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3395 pkt_len = (u16)req->ie_len + req->auth_data_len +
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3396 NXPWIFI_MGMT_HEADER_LEN + NXPWIFI_AUTH_BODY_LEN;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3397
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3398 if (req->auth_data_len >= 4)
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3399 pkt_len -= 4;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3400
73b01e57ed3e3d6 Jeff Chen 2026-06-05 @3401 mgmt = kzalloc(pkt_len, GFP_KERNEL);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3402
73b01e57ed3e3d6 Jeff Chen 2026-06-05 @3403 skb = dev_alloc_skb(NXPWIFI_MIN_DATA_HEADER_LEN +
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3404 NXPWIFI_MGMT_FRAME_HEADER_SIZE +
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3405 pkt_len + sizeof(pkt_len));
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3406 if (!skb) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3407 nxpwifi_dbg(adapter, ERROR,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3408 "allocate skb failed for management frame\n");
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3409 return -ENOMEM;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3410 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3411
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3412 tx_info = NXPWIFI_SKB_TXCB(skb);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3413 memset(tx_info, 0, sizeof(*tx_info));
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3414 tx_info->bss_num = priv->bss_num;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3415 tx_info->bss_type = priv->bss_type;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3416 tx_info->pkt_len = pkt_len;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3417
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3418 memcpy(mgmt->da, req->bss->bssid, ETH_ALEN);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3419 memcpy(mgmt->sa, priv->curr_addr, ETH_ALEN);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3420 memcpy(mgmt->bssid, req->bss->bssid, ETH_ALEN);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3421 mgmt->frame_control =
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3422 cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_AUTH);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3423
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3424 if (req->auth_data_len >= 4) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3425 if (req->auth_type == NL80211_AUTHTYPE_SAE) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3426 __le16 *pos = (__le16 *)req->auth_data;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3427
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3428 trans = le16_to_cpu(pos[0]);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3429 status_code = le16_to_cpu(pos[1]);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3430 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3431 memcpy((u8 *)(&mgmt->u.auth.variable), req->auth_data + 4,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3432 req->auth_data_len - 4);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3433 varptr = (u8 *)&mgmt->u.auth.variable +
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3434 (req->auth_data_len - 4);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3435 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3436
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3437 mgmt->u.auth.auth_alg = cpu_to_le16(auth_alg);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3438 mgmt->u.auth.auth_transaction = cpu_to_le16(trans);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3439 mgmt->u.auth.status_code = cpu_to_le16(status_code);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3440
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3441 if (req->ie && req->ie_len) {
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3442 if (!varptr)
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3443 varptr = (u8 *)&mgmt->u.auth.variable;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3444 memcpy((u8 *)varptr, req->ie, req->ie_len);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3445 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3446
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3447 nxpwifi_form_mgmt_frame(skb, (const u8 *)mgmt, pkt_len);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3448 kfree(mgmt);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3449 priv->auth_flag = HOST_MLME_AUTH_PENDING;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3450 priv->auth_alg = auth_alg;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3451 skb->priority = WMM_HIGHEST_PRIORITY;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3452 __net_timestamp(skb);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3453
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3454 nxpwifi_dbg(adapter, MSG,
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3455 "auth: send authentication to %pM\n", req->bss->bssid);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3456
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3457 nxpwifi_queue_tx_pkt(priv, skb);
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3458
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3459 return 0;
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3460 }
73b01e57ed3e3d6 Jeff Chen 2026-06-05 3461
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-09-15 5:22 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202609150741.WnNNTCOF-lkp@intel.com \
--to=lkp@intel.com \
--cc=julia.lawall@inria.fr \
--cc=oe-kbuild@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 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.