drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c:3527 iwl_trans_pcie_dump_monitor() error: we previously assumed 'trans->dbg.dest_tlv' could be null (see line 3512)
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
BCC: [email protected] CC: [email protected] CC: [email protected] TO: Miri Korenblit <[email protected]> Hi Miri, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 31996e14bd59840692d6c1c6e41ef878b77a2967 commit: c8a00a6e89ffee419a9190d2af9c75a7afe196d2 wifi: iwlwifi: pcie: move generation specific files to a folder date: 1 year, 1 month ago :::::: branch date: 15 hours ago :::::: commit date: 1 year, 1 month ago config: x86_64-randconfig-161-20260805 (https://download.01.org/0day-ci/archive/20260805/[email protected]/config) compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211) smatch: v0.5.0-9187-g5189e3fb 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: c8a00a6e89ff ("wifi: iwlwifi: pcie: move generation specific files to a folder") | Reported-by: kernel test robot <[email protected]> | Reported-by: Dan Carpenter <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ smatch warnings: drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c:3527 iwl_trans_pcie_dump_monitor() error: we previously assumed 'trans->dbg.dest_tlv' could be null (see line 3512) drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c:723 iwl_pcie_txq_alloc() warn: check sign expansion for 'slots_num' vim +3527 drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3503 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3504 static u32 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3505 iwl_trans_pcie_dump_monitor(struct iwl_trans *trans, 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3506 struct iwl_fw_error_dump_data **data, 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3507 u32 monitor_len) 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3508 { 69f0e5059b09613 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-07-22 3509 struct iwl_dram_data *fw_mon = &trans->dbg.fw_mon; 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3510 u32 len = 0; 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3511 91c28b83da21624 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-05-13 @3512 if (trans->dbg.dest_tlv || 69f0e5059b09613 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-07-22 3513 (fw_mon->size && c96a36491003d7a drivers/net/wireless/intel/iwlwifi/pcie/trans.c Johannes Berg 2025-05-08 3514 (trans->mac_cfg->device_family == IWL_DEVICE_FAMILY_7000 || c96a36491003d7a drivers/net/wireless/intel/iwlwifi/pcie/trans.c Johannes Berg 2025-05-08 3515 trans->mac_cfg->device_family >= IWL_DEVICE_FAMILY_AX210))) { 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3516 struct iwl_fw_error_dump_fw_mon *fw_mon_data; 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3517 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3518 (*data)->type = cpu_to_le32(IWL_FW_ERROR_DUMP_FW_MONITOR); 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3519 fw_mon_data = (void *)(*data)->data; 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3520 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3521 iwl_trans_pcie_dump_pointers(trans, fw_mon_data); 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3522 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3523 len += sizeof(**data) + sizeof(*fw_mon_data); 69f0e5059b09613 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-07-22 3524 if (fw_mon->size) { 69f0e5059b09613 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-07-22 3525 memcpy(fw_mon_data->data, fw_mon->block, fw_mon->size); 69f0e5059b09613 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-07-22 3526 monitor_len = fw_mon->size; 91c28b83da21624 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-05-13 @3527 } else if (trans->dbg.dest_tlv->monitor_mode == SMEM_MODE) { 7a14c23dcdee687 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Sara Sharon 2018-06-13 3528 u32 base = le32_to_cpu(fw_mon_data->fw_mon_base_ptr); 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3529 /* 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3530 * Update pointers to reflect actual values after 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3531 * shifting 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3532 */ 91c28b83da21624 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-05-13 3533 if (trans->dbg.dest_tlv->version) { fd527eb5d229366 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Golan Ben Ami 2017-08-16 3534 base = (iwl_read_prph(trans, base) & fd527eb5d229366 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Golan Ben Ami 2017-08-16 3535 IWL_LDBG_M2S_BUF_BA_MSK) << 91c28b83da21624 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-05-13 3536 trans->dbg.dest_tlv->base_shift; fd527eb5d229366 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Golan Ben Ami 2017-08-16 3537 base *= IWL_M2S_UNIT_SIZE; 857ecb8524020dd drivers/net/wireless/intel/iwlwifi/pcie/trans.c Johannes Berg 2025-05-08 3538 base += trans->mac_cfg->base->smem_offset; fd527eb5d229366 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Golan Ben Ami 2017-08-16 3539 } else { 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3540 base = iwl_read_prph(trans, base) << 91c28b83da21624 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-05-13 3541 trans->dbg.dest_tlv->base_shift; fd527eb5d229366 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Golan Ben Ami 2017-08-16 3542 } fd527eb5d229366 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Golan Ben Ami 2017-08-16 3543 332fbf871d44cc7 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Johannes Berg 2025-05-02 3544 iwl_trans_pcie_read_mem(trans, base, fw_mon_data->data, 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3545 monitor_len / sizeof(u32)); 91c28b83da21624 drivers/net/wireless/intel/iwlwifi/pcie/trans.c Shahar S Matityahu 2019-05-13 3546 } else if (trans->dbg.dest_tlv->monitor_mode == MARBH_MODE) { 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3547 monitor_len = 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3548 iwl_trans_pci_dump_marbh_monitor(trans, 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3549 fw_mon_data, 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3550 monitor_len); 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3551 } else { 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3552 /* Didn't match anything - output no monitor data */ 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3553 monitor_len = 0; 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3554 } 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3555 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3556 len += monitor_len; 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3557 (*data)->len = cpu_to_le32(monitor_len + sizeof(*fw_mon_data)); 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3558 } 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3559 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3560 return len; 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3561 } 36fb90172688c8e drivers/net/wireless/iwlwifi/pcie/trans.c Oren Givon 2015-07-15 3562 :::::: The code at line 3527 was first introduced by commit :::::: 91c28b83da21624dabd1ee9e9c35e2747d6a9563 iwlwifi: dbg: move trans debug fields to a separate struct :::::: TO: Shahar S Matityahu <[email protected]> :::::: CC: Luca Coelho <[email protected]> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki