From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3774598574282817857==" MIME-Version: 1.0 From: kernel test robot Subject: drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:332 iwl_pnvm_load() error: uninitialized symbol 'len'. Date: Sat, 28 Aug 2021 14:33:48 +0800 Message-ID: <202108281440.81ULgYYD-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============3774598574282817857== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org CC: linux-kernel(a)vger.kernel.org TO: Luca Coelho tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 64b4fc45bea6f4faa843d2f97ff51665280efee1 commit: 9dad325f9d57508b154f0bebbc341a8528e5729c iwlwifi: support loading t= he reduced power table from UEFI date: 10 weeks ago :::::: branch date: 7 hours ago :::::: commit date: 10 weeks ago config: arc-randconfig-m031-20210827 (attached as .config) compiler: arceb-elf-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:332 iwl_pnvm_load() error: uni= nitialized symbol 'len'. vim +/len +332 drivers/net/wireless/intel/iwlwifi/fw/pnvm.c cdda18fbbefafc Luca Coelho 2021-02-10 255 = cdda18fbbefafc Luca Coelho 2021-02-10 256 int iwl_pnvm_load(struct iwl_= trans *trans, cdda18fbbefafc Luca Coelho 2021-02-10 257 struct iwl_notif_wait_dat= a *notif_wait) cdda18fbbefafc Luca Coelho 2021-02-10 258 { cdda18fbbefafc Luca Coelho 2021-02-10 259 u8 *data; cdda18fbbefafc Luca Coelho 2021-02-10 260 size_t len; 84c3c9952afbf7 Luca Coelho 2021-06-21 261 struct pnvm_sku_package *pac= kage; cdda18fbbefafc Luca Coelho 2021-02-10 262 struct iwl_notification_wait= pnvm_wait; cdda18fbbefafc Luca Coelho 2021-02-10 263 static const u16 ntf_cmds[] = =3D { WIDE_ID(REGULATORY_AND_NVM_GROUP, cdda18fbbefafc Luca Coelho 2021-02-10 264 PNVM_INIT_COMPLETE_NTFY= ) }; cdda18fbbefafc Luca Coelho 2021-02-10 265 int ret; cdda18fbbefafc Luca Coelho 2021-02-10 266 = cdda18fbbefafc Luca Coelho 2021-02-10 267 /* if the SKU_ID is empty, t= here's nothing to do */ cdda18fbbefafc Luca Coelho 2021-02-10 268 if (!trans->sku_id[0] && !tr= ans->sku_id[1] && !trans->sku_id[2]) cdda18fbbefafc Luca Coelho 2021-02-10 269 return 0; cdda18fbbefafc Luca Coelho 2021-02-10 270 = cdda18fbbefafc Luca Coelho 2021-02-10 271 /* cdda18fbbefafc Luca Coelho 2021-02-10 272 * If we already loaded (or = tried to load) it before, we just cdda18fbbefafc Luca Coelho 2021-02-10 273 * need to set it again. cdda18fbbefafc Luca Coelho 2021-02-10 274 */ cdda18fbbefafc Luca Coelho 2021-02-10 275 if (trans->pnvm_loaded) { cdda18fbbefafc Luca Coelho 2021-02-10 276 ret =3D iwl_trans_set_pnvm(= trans, NULL, 0); cdda18fbbefafc Luca Coelho 2021-02-10 277 if (ret) cdda18fbbefafc Luca Coelho 2021-02-10 278 return ret; cdda18fbbefafc Luca Coelho 2021-02-10 279 goto skip_parse; cdda18fbbefafc Luca Coelho 2021-02-10 280 } cdda18fbbefafc Luca Coelho 2021-02-10 281 = a1a6a4cf49eceb Luca Coelho 2021-02-11 282 /* First attempt to get the = PNVM from BIOS */ 84c3c9952afbf7 Luca Coelho 2021-06-21 283 package =3D iwl_uefi_get_pnv= m(trans, &len); 84c3c9952afbf7 Luca Coelho 2021-06-21 284 if (!IS_ERR_OR_NULL(package)= ) { 84c3c9952afbf7 Luca Coelho 2021-06-21 285 data =3D kmemdup(package->d= ata, len, GFP_KERNEL); 84c3c9952afbf7 Luca Coelho 2021-06-21 286 = 84c3c9952afbf7 Luca Coelho 2021-06-21 287 /* free package regardless = of whether kmemdup succeeded */ 84c3c9952afbf7 Luca Coelho 2021-06-21 288 kfree(package); 84c3c9952afbf7 Luca Coelho 2021-06-21 289 = 84c3c9952afbf7 Luca Coelho 2021-06-21 290 if (data) { 84c3c9952afbf7 Luca Coelho 2021-06-21 291 /* we need only the data s= ize */ 84c3c9952afbf7 Luca Coelho 2021-06-21 292 len -=3D sizeof(*package); a1a6a4cf49eceb Luca Coelho 2021-02-11 293 goto parse; 84c3c9952afbf7 Luca Coelho 2021-06-21 294 } 84c3c9952afbf7 Luca Coelho 2021-06-21 295 } a1a6a4cf49eceb Luca Coelho 2021-02-11 296 = a1a6a4cf49eceb Luca Coelho 2021-02-11 297 /* If it's not available, tr= y from the filesystem */ cdda18fbbefafc Luca Coelho 2021-02-10 298 ret =3D iwl_pnvm_get_from_fs= (trans, &data, &len); cdda18fbbefafc Luca Coelho 2021-02-10 299 if (ret) { 82a08d0cd7b503 Johannes Berg 2021-01-15 300 /* 82a08d0cd7b503 Johannes Berg 2021-01-15 301 * Pretend we've loaded it = - at least we've tried and 82a08d0cd7b503 Johannes Berg 2021-01-15 302 * couldn't load it at all,= so there's no point in 82a08d0cd7b503 Johannes Berg 2021-01-15 303 * trying again over and ov= er. 82a08d0cd7b503 Johannes Berg 2021-01-15 304 */ 82a08d0cd7b503 Johannes Berg 2021-01-15 305 trans->pnvm_loaded =3D true; 6972592850c00e Luca Coelho 2020-10-08 306 = cdda18fbbefafc Luca Coelho 2021-02-10 307 goto skip_parse; 1c58bed4b7f755 Johannes Berg 2021-01-15 308 } b3e4c0f34c1752 Luca Coelho 2020-10-08 309 = a1a6a4cf49eceb Luca Coelho 2021-02-11 310 parse: cdda18fbbefafc Luca Coelho 2021-02-10 311 iwl_pnvm_parse(trans, data, = len); cdda18fbbefafc Luca Coelho 2021-02-10 312 = cdda18fbbefafc Luca Coelho 2021-02-10 313 kfree(data); cdda18fbbefafc Luca Coelho 2021-02-10 314 = cdda18fbbefafc Luca Coelho 2021-02-10 315 skip_parse: 9dad325f9d5750 Luca Coelho 2021-06-21 316 data =3D NULL; 9dad325f9d5750 Luca Coelho 2021-06-21 317 /* now try to get the reduce= power table, if not loaded yet */ 9dad325f9d5750 Luca Coelho 2021-06-21 318 if (!trans->reduce_power_loa= ded) { 9dad325f9d5750 Luca Coelho 2021-06-21 319 data =3D iwl_uefi_get_reduc= ed_power(trans, &len); 9dad325f9d5750 Luca Coelho 2021-06-21 320 if (IS_ERR_OR_NULL(data)) { 9dad325f9d5750 Luca Coelho 2021-06-21 321 /* 9dad325f9d5750 Luca Coelho 2021-06-21 322 * Pretend we've loaded it= - at least we've tried and 9dad325f9d5750 Luca Coelho 2021-06-21 323 * couldn't load it at all= , so there's no point in 9dad325f9d5750 Luca Coelho 2021-06-21 324 * trying again over and o= ver. 9dad325f9d5750 Luca Coelho 2021-06-21 325 */ 9dad325f9d5750 Luca Coelho 2021-06-21 326 trans->reduce_power_loaded= =3D true; 9dad325f9d5750 Luca Coelho 2021-06-21 327 = 9dad325f9d5750 Luca Coelho 2021-06-21 328 goto skip_reduce_power; 9dad325f9d5750 Luca Coelho 2021-06-21 329 } 9dad325f9d5750 Luca Coelho 2021-06-21 330 } 9dad325f9d5750 Luca Coelho 2021-06-21 331 = 9dad325f9d5750 Luca Coelho 2021-06-21 @332 ret =3D iwl_trans_set_reduce= _power(trans, data, len); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============3774598574282817857== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 hGKmtEXq3aD8H0mSg0rAUAIA --===============3774598574282817857==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7700033018824439128==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:332 iwl_pnvm_load() error: uninitialized symbol 'len'. Date: Mon, 30 Aug 2021 13:22:54 +0300 Message-ID: <202108281440.81ULgYYD-lkp@intel.com> List-Id: --===============7700033018824439128== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 64b4fc45bea6f4faa843d2f97ff51665280efee1 commit: 9dad325f9d57508b154f0bebbc341a8528e5729c iwlwifi: support loading t= he reduced power table from UEFI date: 10 weeks ago config: arc-randconfig-m031-20210827 (attached as .config) compiler: arceb-elf-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:332 iwl_pnvm_load() error: uni= nitialized symbol 'len'. vim +/len +332 drivers/net/wireless/intel/iwlwifi/fw/pnvm.c cdda18fbbefafc Luca Coelho 2021-02-10 256 int iwl_pnvm_load(struct iwl_= trans *trans, cdda18fbbefafc Luca Coelho 2021-02-10 257 struct iwl_notif_wait_dat= a *notif_wait) cdda18fbbefafc Luca Coelho 2021-02-10 258 { cdda18fbbefafc Luca Coelho 2021-02-10 259 u8 *data; cdda18fbbefafc Luca Coelho 2021-02-10 260 size_t len; 84c3c9952afbf7 Luca Coelho 2021-06-21 261 struct pnvm_sku_package *pac= kage; cdda18fbbefafc Luca Coelho 2021-02-10 262 struct iwl_notification_wait= pnvm_wait; cdda18fbbefafc Luca Coelho 2021-02-10 263 static const u16 ntf_cmds[] = =3D { WIDE_ID(REGULATORY_AND_NVM_GROUP, cdda18fbbefafc Luca Coelho 2021-02-10 264 PNVM_INIT_COMPLETE_NTFY= ) }; cdda18fbbefafc Luca Coelho 2021-02-10 265 int ret; cdda18fbbefafc Luca Coelho 2021-02-10 266 = cdda18fbbefafc Luca Coelho 2021-02-10 267 /* if the SKU_ID is empty, t= here's nothing to do */ cdda18fbbefafc Luca Coelho 2021-02-10 268 if (!trans->sku_id[0] && !tr= ans->sku_id[1] && !trans->sku_id[2]) cdda18fbbefafc Luca Coelho 2021-02-10 269 return 0; cdda18fbbefafc Luca Coelho 2021-02-10 270 = cdda18fbbefafc Luca Coelho 2021-02-10 271 /* cdda18fbbefafc Luca Coelho 2021-02-10 272 * If we already loaded (or = tried to load) it before, we just cdda18fbbefafc Luca Coelho 2021-02-10 273 * need to set it again. cdda18fbbefafc Luca Coelho 2021-02-10 274 */ cdda18fbbefafc Luca Coelho 2021-02-10 275 if (trans->pnvm_loaded) { cdda18fbbefafc Luca Coelho 2021-02-10 276 ret =3D iwl_trans_set_pnvm(= trans, NULL, 0); cdda18fbbefafc Luca Coelho 2021-02-10 277 if (ret) cdda18fbbefafc Luca Coelho 2021-02-10 278 return ret; cdda18fbbefafc Luca Coelho 2021-02-10 279 goto skip_parse; ^^^^^^^^^^^^^^^^ "len" not initialized here. cdda18fbbefafc Luca Coelho 2021-02-10 280 } cdda18fbbefafc Luca Coelho 2021-02-10 281 = a1a6a4cf49eceb Luca Coelho 2021-02-11 282 /* First attempt to get the = PNVM from BIOS */ 84c3c9952afbf7 Luca Coelho 2021-06-21 283 package =3D iwl_uefi_get_pnv= m(trans, &len); 84c3c9952afbf7 Luca Coelho 2021-06-21 284 if (!IS_ERR_OR_NULL(package)= ) { 84c3c9952afbf7 Luca Coelho 2021-06-21 285 data =3D kmemdup(package->d= ata, len, GFP_KERNEL); 84c3c9952afbf7 Luca Coelho 2021-06-21 286 = 84c3c9952afbf7 Luca Coelho 2021-06-21 287 /* free package regardless = of whether kmemdup succeeded */ 84c3c9952afbf7 Luca Coelho 2021-06-21 288 kfree(package); 84c3c9952afbf7 Luca Coelho 2021-06-21 289 = 84c3c9952afbf7 Luca Coelho 2021-06-21 290 if (data) { 84c3c9952afbf7 Luca Coelho 2021-06-21 291 /* we need only the data s= ize */ 84c3c9952afbf7 Luca Coelho 2021-06-21 292 len -=3D sizeof(*package); a1a6a4cf49eceb Luca Coelho 2021-02-11 293 goto parse; 84c3c9952afbf7 Luca Coelho 2021-06-21 294 } 84c3c9952afbf7 Luca Coelho 2021-06-21 295 } a1a6a4cf49eceb Luca Coelho 2021-02-11 296 = a1a6a4cf49eceb Luca Coelho 2021-02-11 297 /* If it's not available, tr= y from the filesystem */ cdda18fbbefafc Luca Coelho 2021-02-10 298 ret =3D iwl_pnvm_get_from_fs= (trans, &data, &len); cdda18fbbefafc Luca Coelho 2021-02-10 299 if (ret) { 82a08d0cd7b503 Johannes Berg 2021-01-15 300 /* 82a08d0cd7b503 Johannes Berg 2021-01-15 301 * Pretend we've loaded it = - at least we've tried and 82a08d0cd7b503 Johannes Berg 2021-01-15 302 * couldn't load it at all,= so there's no point in 82a08d0cd7b503 Johannes Berg 2021-01-15 303 * trying again over and ov= er. 82a08d0cd7b503 Johannes Berg 2021-01-15 304 */ 82a08d0cd7b503 Johannes Berg 2021-01-15 305 trans->pnvm_loaded =3D true; 6972592850c00e Luca Coelho 2020-10-08 306 = cdda18fbbefafc Luca Coelho 2021-02-10 307 goto skip_parse; 1c58bed4b7f755 Johannes Berg 2021-01-15 308 } b3e4c0f34c1752 Luca Coelho 2020-10-08 309 = a1a6a4cf49eceb Luca Coelho 2021-02-11 310 parse: cdda18fbbefafc Luca Coelho 2021-02-10 311 iwl_pnvm_parse(trans, data, = len); cdda18fbbefafc Luca Coelho 2021-02-10 312 = cdda18fbbefafc Luca Coelho 2021-02-10 313 kfree(data); cdda18fbbefafc Luca Coelho 2021-02-10 314 = cdda18fbbefafc Luca Coelho 2021-02-10 315 skip_parse: 9dad325f9d5750 Luca Coelho 2021-06-21 316 data =3D NULL; 9dad325f9d5750 Luca Coelho 2021-06-21 317 /* now try to get the reduce= power table, if not loaded yet */ 9dad325f9d5750 Luca Coelho 2021-06-21 318 if (!trans->reduce_power_loa= ded) { 9dad325f9d5750 Luca Coelho 2021-06-21 319 data =3D iwl_uefi_get_reduc= ed_power(trans, &len); Possibly initialized here? I looked at this and wasn't certain. 9dad325f9d5750 Luca Coelho 2021-06-21 320 if (IS_ERR_OR_NULL(data)) { 9dad325f9d5750 Luca Coelho 2021-06-21 321 /* 9dad325f9d5750 Luca Coelho 2021-06-21 322 * Pretend we've loaded it= - at least we've tried and 9dad325f9d5750 Luca Coelho 2021-06-21 323 * couldn't load it at all= , so there's no point in 9dad325f9d5750 Luca Coelho 2021-06-21 324 * trying again over and o= ver. 9dad325f9d5750 Luca Coelho 2021-06-21 325 */ 9dad325f9d5750 Luca Coelho 2021-06-21 326 trans->reduce_power_loaded= =3D true; 9dad325f9d5750 Luca Coelho 2021-06-21 327 = 9dad325f9d5750 Luca Coelho 2021-06-21 328 goto skip_reduce_power; 9dad325f9d5750 Luca Coelho 2021-06-21 329 } 9dad325f9d5750 Luca Coelho 2021-06-21 330 } 9dad325f9d5750 Luca Coelho 2021-06-21 331 = 9dad325f9d5750 Luca Coelho 2021-06-21 @332 ret =3D iwl_trans_set_reduce= _power(trans, data, len); = ^^^ --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============7700033018824439128==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8B95DC432BE for ; Mon, 30 Aug 2021 10:23:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 49FE460524 for ; Mon, 30 Aug 2021 10:23:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236326AbhH3KYP (ORCPT ); Mon, 30 Aug 2021 06:24:15 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:65050 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233248AbhH3KYN (ORCPT ); Mon, 30 Aug 2021 06:24:13 -0400 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 17U6wwwD031011; Mon, 30 Aug 2021 10:23:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2021-07-09; bh=E09+f0QJmdic8Bg52RK0czKXyPPOSdlauzGvWEtSsv0=; b=t4LWkitxwdYaNjECUFnyVQ1tp1uCnsP6RC31kdc58gjgCdyDCgisZ8Bl79dt9DAMBSmH dyosdGB+CrEXRnarp7MsUowgIXfhbVBJ8mPQPcT9QoGybka8mGpYt81DWI8mSSKAc/dn /MS9Vfymy+d8ZvynyZqjNULsveRAIwUcxB8LBqJCai8VkV+Do7EsgZ3Lp10cpQSAw3rC LrXOESuNXal0/M2XGzmd2371xD9KeCjTkQsPgEvAOHceoDdMsTZUxcQJtDVMqsFrqxtx eER4BT6DymJq+hCt6Q7hkyu7uVX5QzKiZSiat9XDM9nLn5sssI/LgEFuh36dHFsBSq6d Vw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2020-01-29; bh=E09+f0QJmdic8Bg52RK0czKXyPPOSdlauzGvWEtSsv0=; b=eAilkd2PVEl8lhWtio7/Ei9MagSDUnDxSB9MkxZQF1xP+eRIC5Fd6fQXG8BskX+bVnEi B7eUpk0v36cUwBLfwzV5ZNxb6e0RykDXrvfOE1d7ZYyrxHFVFlfLRfle5aK7tR7I+Lgd UI7bKywlc67UYXiVeaBQ7HScvdJmDjYmuXpHXKahVkuXreH+UPR5B4IXc3puc+455Tk8 fVNpxtu1ksSNT7x4B+LdAFVYj5VfoSBSHX7ALpVxlvqdpmX+gRI7vw1kIUOUs9hOOt27 IMlJ/RU1C0XvqiNI12gab2gtPX0S1h9kaCfdW+FQ1mRV4mICr6F2Ijn56Fkg5ZiwbMbx XA== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3arbxxh6jw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 30 Aug 2021 10:23:16 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17UABmif002643; Mon, 30 Aug 2021 10:23:15 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2172.outbound.protection.outlook.com [104.47.55.172]) by userp3020.oracle.com with ESMTP id 3aqxwr5xkr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 30 Aug 2021 10:23:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SeR+WDF9GrpUJJtBuAcCXB8xStxygOLUSnqGP131iWZYdsMKs2fNhq/iewg18YLF3QXU07ZrLZGwX4SRk1D7OOAku25My5miXezuwBN0p/R5mPephouIVkNLtxszgJ+IKGgRwjMqpDLLiZ4h62X4rHNxqqs4iA7h2mU3ET7f/j68fgplVIkTpqPddtwRosmWlHwg1HITydpjBM6HM3zIo/HkHMsiBeKiYIBc8D/HIlvXIBbKu/++NrgM/cXdMRBo46bWpERe/x+Vfj4To1ZcbrV64RnWbtQ9YSBKIaRrVoRXZgzMZoPC6MgQX9g/l+nlRmVBNvvAnt65sul7zkNaVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E09+f0QJmdic8Bg52RK0czKXyPPOSdlauzGvWEtSsv0=; b=cAeOtpTdlcGsv8Mq+VAe9tav5adcFRRdXEu5y+mZOGeRfmLJWq2KiXdIAFIesnOL19WoB3oqvkaWF/Hd/d3Hqq2lANsUEIp77fRnQadSvT4Ui+Zm8KOcEbnRztcKMesDo+Dvv340bbj92hwbgORVEFMSeV6jtM9DXuwMtAy1Dq6UZV0wrMjzW0wRIEPlC2ubd9WseuaU9eeL9YqD1J27+f09TX0M6dHTFJdNvzOMiWJowHCQFT2tiOoDTSxWrZr2OkDUnQ8msgC+LUDa3yaMTaylvib1r20ISJTQ27Q78CtGVVO+0KpjgyPrQHbGdzNGCFI6gSYbZm5gfjRVr5gudA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E09+f0QJmdic8Bg52RK0czKXyPPOSdlauzGvWEtSsv0=; b=lunrlJqA9NDkft9/2fQj6CFqoNofR4NFDxv6ijOeBF7GB+wZQduUONVk9CQ0TqziKLGdzIGVJAesmnOifuKFUFfMA09IWHM4loPE0E2yneejJcAwOkoO59bXSjRF6jmf2+U1Qkd/7HzmsHOCxe6kMjPbWSjLHRSDpEPAvIUDEI8= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=oracle.com; Received: from MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) by MWHPR10MB1662.namprd10.prod.outlook.com (2603:10b6:301:a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Mon, 30 Aug 2021 10:23:12 +0000 Received: from MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5820:e42b:73d7:4268]) by MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5820:e42b:73d7:4268%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021 10:23:12 +0000 Date: Mon, 30 Aug 2021 13:22:54 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Luca Coelho Cc: lkp@intel.com, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org Subject: drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:332 iwl_pnvm_load() error: uninitialized symbol 'len'. Message-ID: <202108281440.81ULgYYD-lkp@intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: JNAP275CA0058.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:4f::6) To MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kadam (62.8.83.99) by JNAP275CA0058.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:4f::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.22 via Frontend Transport; Mon, 30 Aug 2021 10:23:09 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9c1f5fc0-b7a5-46ee-0e40-08d96ba02bfa X-MS-TrafficTypeDiagnostic: MWHPR10MB1662: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1002; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jC/JtWYCAKUPDtzR5cZpxbepHCb4dRrO1JTrfGSgvHOCfjDWndvkBLV9lihopGSxI7WxvHVEo9tBNPSPfup6DGqDa7B1fgTvBiKglOqE7e5jgT/vs6qTOBl0PXFTELEsnk3L6tnNgffokrHfcBzaIAcaKJ5ocjN7lf4h533C6r2nu8Exy7mExrRq9vzuqgcvfTcitUkLRd/AF8zKJhbjDz0yRGL4S9R6GjcMvR6ltjZ+uGpmW/EyOIKcLIP/EgOv/KUKJXTKLcdrVvH0UP0BmXAh3fFxtglgFmmAbD9MEK3RN+rgr5orflrh2uHqRRuTgclayGyLbbgIrLEkuFuILvhpkbGFAojJkc6nOqr65OY2dJuFu8/1EQtEylIKLOZm4wa7fDjELL4GjXhCHbDMAuWPkuLEwW9XJQAZu8cbgtu4vbYgadZxdAFn0M7Ka3OQDEZ8rZ3KvkiCyS2//fCBM4YXXx3gpxcQeXcj6hFjN7y6M8kKpSnmfrHd8eACfF9Nb6dGsb1wups1rRWbgq/2pMxZ2Aq7rElpbMYFWFyMSlneFtbkZr//R8ebv5kMbJLhI9SS7OlJ0VW4oNZyoDtdoq3mTv3ioBWSSQARW1T/0D5/75VJ3Jmm1KfAeO/dNnSLiy0l3GOnpXI483snMoHp3gvC7swW/wqiCLb1A8XSiDW4Yvbj6zRPddjXgbBujsKNd1+6YrK7tMLrnFi0En+4z8yUzzwDr8WTyh6XBv0gzJt3Hhgka4VYDekcmwQvl2zDEWtlWv9nBfurcRAamXXg6Xzz+eSKMbNghyzQND10IGGJYQrK0ppKYCg72QIFKGk9MMNcQl/TlTtz8vwUYf0jNQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(956004)(66946007)(66476007)(2906002)(86362001)(966005)(8676002)(66556008)(6496006)(9686003)(6666004)(6916009)(44832011)(37006003)(6486002)(186003)(508600001)(8936002)(36756003)(83380400001)(52116002)(38350700002)(316002)(4326008)(1076003)(26005)(5660300002)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jE0TdysecUmH2u/e7OEFzz9PZDeFIQnJAcUnBVFVTNGuEGWy6tGtt94LXYyB?= =?us-ascii?Q?44K/l/A09qwc5YcijjEElSGUbQscjs1ftgItXXQLcshJMGRaZJvgFThnsbbD?= =?us-ascii?Q?dDsUU9uGqLj4hB7DQP/0qNfPDO+JBk/Ug1+WKFRZkXJGH2NFR+1Zo61Yn4bS?= =?us-ascii?Q?efP3YSIqsXV68G2ODS0iTEQEiLO/zogCgCirqIn29TuWKX7Y84BlgY7GMKSm?= =?us-ascii?Q?mmbdYjpQ9aE0HuvOels/lcjAjK/yJYjAovlCc0itCYGwWadY47N4vC7tXR3G?= =?us-ascii?Q?T3rpED26nXT3J9s2p1Ch7J9O3edKAN8VR78ZSmyQAWTgPM6GE3Klr4h0bVZ3?= =?us-ascii?Q?uGIQ+dRvNH+pJuRKUaEIgLVoD1oogd1LApJ3v/IrysRmR/Ol8FHi9xtZItTH?= =?us-ascii?Q?UzO02bqI7w8pbZsfEB56lsdgREvDCUxWNlIPTG5qUF5g8+RIc8QIMNWYuzrH?= =?us-ascii?Q?7fOwPyk0WGtMYj2BIbr+H8lazPNGql3ucuSXDedMMOZYQySt/DwaAlEm34XM?= =?us-ascii?Q?/iB7TTCJ/OMcYhNZuKFhFJo3iW6PxxW4mYhVq0R/3WuQkAbhZhAk2qLuXNhV?= =?us-ascii?Q?oIvsUGCoQQAmW5HpZIcpGcxxzF4BAAIQa1mY5ugHbcYIzYF70QLdPtauKucJ?= =?us-ascii?Q?4Qbskcc8FS/iLSkATPYszP42PePgyCkTDMsKiQvjak51fCV/jWejTMhcbRmq?= =?us-ascii?Q?47IrYF3h93BQiN+Gzz8UDR47LN5Auk6fJIUmKY7ru1n5fCoNzLHp9aakIjFw?= =?us-ascii?Q?EtQH7X5/EB+yRiRHRb99G1uLj3H0n7AzKodTbXNv4tOP5S8ZjyDLxm+c9Xh9?= =?us-ascii?Q?vWg0zb85I0cz6P5hsthVTZyq6kKZVWS6EmpyrFUyUEmP8B6tThMlChMHyB6K?= =?us-ascii?Q?VFlTxye0lm/9A9NL3AI8K/vu3RTsJwReG2shh5xPZh8q1Uahv1V3J5XoAhlf?= =?us-ascii?Q?vsjEjsmc4GapvjneWflOsuuoxx9zfLuXoVYgUzOqcmEvhKB2kfu2pkcSNS7P?= =?us-ascii?Q?m50yztOG5iiZMJ7tZardcx+s/vC4vjcFIaS34gk8kXMo6JdnI2/rFptjBZpb?= =?us-ascii?Q?+ku4egNqU/oN3Wu2iyNpconmMZzkr4KEziS3eOUNnVfx3dEx68Tlxct0OBiC?= =?us-ascii?Q?rNkEsSAA8GprpObsX2Z7/kMQVXxr0ORsUDdkEjbG9FYj4OXTlsqvHF3h5bBC?= =?us-ascii?Q?/xGkSr5jlcMz6xhWJqxf2EColHEO9fgGisvwS2kbWpX11W96Y4dvcM615vRB?= =?us-ascii?Q?4OdS5C/X6UJoW8RoC9fbrgdEmBlevvXWXsmbDNKG2pBs2V1q3Tk50AyssOB0?= =?us-ascii?Q?n/Ra/Mx8YPgZ3imgOmgCDuHX?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c1f5fc0-b7a5-46ee-0e40-08d96ba02bfa X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 10:23:12.7690 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Jd19y+bxkcF1YhuHHlJFpxBJ6E3cn0vW/qr+Sw6u5YCNtNg596Ds2ZKWwr0nrj++0N3y2btnV7K1jGlPYkgAQpz0wUdOsctovj5oVctiX2Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR10MB1662 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10091 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 mlxscore=0 malwarescore=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108300075 X-Proofpoint-ORIG-GUID: HMo8A8DWsHupZsJ8BlnbdrywOG20lohA X-Proofpoint-GUID: HMo8A8DWsHupZsJ8BlnbdrywOG20lohA Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 64b4fc45bea6f4faa843d2f97ff51665280efee1 commit: 9dad325f9d57508b154f0bebbc341a8528e5729c iwlwifi: support loading the reduced power table from UEFI date: 10 weeks ago config: arc-randconfig-m031-20210827 (attached as .config) compiler: arceb-elf-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/net/wireless/intel/iwlwifi/fw/pnvm.c:332 iwl_pnvm_load() error: uninitialized symbol 'len'. vim +/len +332 drivers/net/wireless/intel/iwlwifi/fw/pnvm.c cdda18fbbefafc Luca Coelho 2021-02-10 256 int iwl_pnvm_load(struct iwl_trans *trans, cdda18fbbefafc Luca Coelho 2021-02-10 257 struct iwl_notif_wait_data *notif_wait) cdda18fbbefafc Luca Coelho 2021-02-10 258 { cdda18fbbefafc Luca Coelho 2021-02-10 259 u8 *data; cdda18fbbefafc Luca Coelho 2021-02-10 260 size_t len; 84c3c9952afbf7 Luca Coelho 2021-06-21 261 struct pnvm_sku_package *package; cdda18fbbefafc Luca Coelho 2021-02-10 262 struct iwl_notification_wait pnvm_wait; cdda18fbbefafc Luca Coelho 2021-02-10 263 static const u16 ntf_cmds[] = { WIDE_ID(REGULATORY_AND_NVM_GROUP, cdda18fbbefafc Luca Coelho 2021-02-10 264 PNVM_INIT_COMPLETE_NTFY) }; cdda18fbbefafc Luca Coelho 2021-02-10 265 int ret; cdda18fbbefafc Luca Coelho 2021-02-10 266 cdda18fbbefafc Luca Coelho 2021-02-10 267 /* if the SKU_ID is empty, there's nothing to do */ cdda18fbbefafc Luca Coelho 2021-02-10 268 if (!trans->sku_id[0] && !trans->sku_id[1] && !trans->sku_id[2]) cdda18fbbefafc Luca Coelho 2021-02-10 269 return 0; cdda18fbbefafc Luca Coelho 2021-02-10 270 cdda18fbbefafc Luca Coelho 2021-02-10 271 /* cdda18fbbefafc Luca Coelho 2021-02-10 272 * If we already loaded (or tried to load) it before, we just cdda18fbbefafc Luca Coelho 2021-02-10 273 * need to set it again. cdda18fbbefafc Luca Coelho 2021-02-10 274 */ cdda18fbbefafc Luca Coelho 2021-02-10 275 if (trans->pnvm_loaded) { cdda18fbbefafc Luca Coelho 2021-02-10 276 ret = iwl_trans_set_pnvm(trans, NULL, 0); cdda18fbbefafc Luca Coelho 2021-02-10 277 if (ret) cdda18fbbefafc Luca Coelho 2021-02-10 278 return ret; cdda18fbbefafc Luca Coelho 2021-02-10 279 goto skip_parse; ^^^^^^^^^^^^^^^^ "len" not initialized here. cdda18fbbefafc Luca Coelho 2021-02-10 280 } cdda18fbbefafc Luca Coelho 2021-02-10 281 a1a6a4cf49eceb Luca Coelho 2021-02-11 282 /* First attempt to get the PNVM from BIOS */ 84c3c9952afbf7 Luca Coelho 2021-06-21 283 package = iwl_uefi_get_pnvm(trans, &len); 84c3c9952afbf7 Luca Coelho 2021-06-21 284 if (!IS_ERR_OR_NULL(package)) { 84c3c9952afbf7 Luca Coelho 2021-06-21 285 data = kmemdup(package->data, len, GFP_KERNEL); 84c3c9952afbf7 Luca Coelho 2021-06-21 286 84c3c9952afbf7 Luca Coelho 2021-06-21 287 /* free package regardless of whether kmemdup succeeded */ 84c3c9952afbf7 Luca Coelho 2021-06-21 288 kfree(package); 84c3c9952afbf7 Luca Coelho 2021-06-21 289 84c3c9952afbf7 Luca Coelho 2021-06-21 290 if (data) { 84c3c9952afbf7 Luca Coelho 2021-06-21 291 /* we need only the data size */ 84c3c9952afbf7 Luca Coelho 2021-06-21 292 len -= sizeof(*package); a1a6a4cf49eceb Luca Coelho 2021-02-11 293 goto parse; 84c3c9952afbf7 Luca Coelho 2021-06-21 294 } 84c3c9952afbf7 Luca Coelho 2021-06-21 295 } a1a6a4cf49eceb Luca Coelho 2021-02-11 296 a1a6a4cf49eceb Luca Coelho 2021-02-11 297 /* If it's not available, try from the filesystem */ cdda18fbbefafc Luca Coelho 2021-02-10 298 ret = iwl_pnvm_get_from_fs(trans, &data, &len); cdda18fbbefafc Luca Coelho 2021-02-10 299 if (ret) { 82a08d0cd7b503 Johannes Berg 2021-01-15 300 /* 82a08d0cd7b503 Johannes Berg 2021-01-15 301 * Pretend we've loaded it - at least we've tried and 82a08d0cd7b503 Johannes Berg 2021-01-15 302 * couldn't load it at all, so there's no point in 82a08d0cd7b503 Johannes Berg 2021-01-15 303 * trying again over and over. 82a08d0cd7b503 Johannes Berg 2021-01-15 304 */ 82a08d0cd7b503 Johannes Berg 2021-01-15 305 trans->pnvm_loaded = true; 6972592850c00e Luca Coelho 2020-10-08 306 cdda18fbbefafc Luca Coelho 2021-02-10 307 goto skip_parse; 1c58bed4b7f755 Johannes Berg 2021-01-15 308 } b3e4c0f34c1752 Luca Coelho 2020-10-08 309 a1a6a4cf49eceb Luca Coelho 2021-02-11 310 parse: cdda18fbbefafc Luca Coelho 2021-02-10 311 iwl_pnvm_parse(trans, data, len); cdda18fbbefafc Luca Coelho 2021-02-10 312 cdda18fbbefafc Luca Coelho 2021-02-10 313 kfree(data); cdda18fbbefafc Luca Coelho 2021-02-10 314 cdda18fbbefafc Luca Coelho 2021-02-10 315 skip_parse: 9dad325f9d5750 Luca Coelho 2021-06-21 316 data = NULL; 9dad325f9d5750 Luca Coelho 2021-06-21 317 /* now try to get the reduce power table, if not loaded yet */ 9dad325f9d5750 Luca Coelho 2021-06-21 318 if (!trans->reduce_power_loaded) { 9dad325f9d5750 Luca Coelho 2021-06-21 319 data = iwl_uefi_get_reduced_power(trans, &len); Possibly initialized here? I looked at this and wasn't certain. 9dad325f9d5750 Luca Coelho 2021-06-21 320 if (IS_ERR_OR_NULL(data)) { 9dad325f9d5750 Luca Coelho 2021-06-21 321 /* 9dad325f9d5750 Luca Coelho 2021-06-21 322 * Pretend we've loaded it - at least we've tried and 9dad325f9d5750 Luca Coelho 2021-06-21 323 * couldn't load it at all, so there's no point in 9dad325f9d5750 Luca Coelho 2021-06-21 324 * trying again over and over. 9dad325f9d5750 Luca Coelho 2021-06-21 325 */ 9dad325f9d5750 Luca Coelho 2021-06-21 326 trans->reduce_power_loaded = true; 9dad325f9d5750 Luca Coelho 2021-06-21 327 9dad325f9d5750 Luca Coelho 2021-06-21 328 goto skip_reduce_power; 9dad325f9d5750 Luca Coelho 2021-06-21 329 } 9dad325f9d5750 Luca Coelho 2021-06-21 330 } 9dad325f9d5750 Luca Coelho 2021-06-21 331 9dad325f9d5750 Luca Coelho 2021-06-21 @332 ret = iwl_trans_set_reduce_power(trans, data, len); ^^^ --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org