Re: [PATCH] iwlwifi: fix a potential NULL pointer dereference

From: kbuild test robot
Date: Wed Sep 18 2019 - 16:21:11 EST


Hi Allen,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[cannot apply to v5.3 next-20190917]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Allen-Pais/iwlwifi-fix-a-potential-NULL-pointer-dereference/20190919-021453
config: mips-allmodconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=mips

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

drivers/net/wireless/intel/iwlwifi/pcie/trans.c: In function 'iwl_trans_pcie_alloc':
>> drivers/net/wireless/intel/iwlwifi/pcie/trans.c:3659:10: warning: return makes pointer from integer without a cast [-Wint-conversion]
return -ENOMEM;
^

vim +3659 drivers/net/wireless/intel/iwlwifi/pcie/trans.c

3625
3626 iwl_pcie_set_interrupt_capa(pdev, trans);
3627 trans->hw_id = (pdev->device << 16) + pdev->subsystem_device;
3628 snprintf(trans->hw_id_str, sizeof(trans->hw_id_str),
3629 "PCI ID: 0x%04X:0x%04X", pdev->device, pdev->subsystem_device);
3630
3631 /* Initialize the wait queue for commands */
3632 init_waitqueue_head(&trans_pcie->wait_command_queue);
3633
3634 init_waitqueue_head(&trans_pcie->d0i3_waitq);
3635
3636 if (trans_pcie->msix_enabled) {
3637 ret = iwl_pcie_init_msix_handler(pdev, trans_pcie);
3638 if (ret)
3639 goto out_no_pci;
3640 } else {
3641 ret = iwl_pcie_alloc_ict(trans);
3642 if (ret)
3643 goto out_no_pci;
3644
3645 ret = devm_request_threaded_irq(&pdev->dev, pdev->irq,
3646 iwl_pcie_isr,
3647 iwl_pcie_irq_handler,
3648 IRQF_SHARED, DRV_NAME, trans);
3649 if (ret) {
3650 IWL_ERR(trans, "Error allocating IRQ %d\n", pdev->irq);
3651 goto out_free_ict;
3652 }
3653 trans_pcie->inta_mask = CSR_INI_SET_MASK;
3654 }
3655
3656 trans_pcie->rba.alloc_wq = alloc_workqueue("rb_allocator",
3657 WQ_HIGHPRI | WQ_UNBOUND, 1);
3658 if (unlikely(!trans_pcie->rba.alloc_wq)) {
> 3659 return -ENOMEM;
3660 goto out_free_ict;
3661 }
3662
3663 INIT_WORK(&trans_pcie->rba.rx_alloc, iwl_pcie_rx_allocator_work);
3664

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip