CC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Arkadiusz Kubalewski <[email protected]>
CC: Tony Nguyen <[email protected]>
CC: Aleksandr Loktionov <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   df0cc57e057f18e44dac8e6c18aba47ab53202f9
commit: 65662a8dcdd01342b71ee44234bcfd0162e195af i40e: Fix logic of disabling 
queues
date:   6 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 6 months ago
config: x86_64-randconfig-c007-20220101 
(https://download.01.org/0day-ci/archive/20220110/[email protected]/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 
c054402170cd8466683a20385befc0523aba3359)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=65662a8dcdd01342b71ee44234bcfd0162e195af
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 65662a8dcdd01342b71ee44234bcfd0162e195af
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)
   net/nfc/nci/hci.c:620:6: note: Assuming 'conn_info' is non-null
           if (!conn_info)
               ^~~~~~~~~~
   net/nfc/nci/hci.c:620:2: note: Taking false branch
           if (!conn_info)
           ^
   net/nfc/nci/hci.c:633:6: note: Assuming 'r' is not equal to NCI_STATUS_OK
           if (r == NCI_STATUS_OK) {
               ^~~~~~~~~~~~~~~~~~
   net/nfc/nci/hci.c:633:2: note: Taking false branch
           if (r == NCI_STATUS_OK) {
           ^
   net/nfc/nci/hci.c:643:2: note: Returning without writing to '*'
           return r;
           ^
   net/nfc/nci/hci.c:743:6: note: Returning from 'nci_hci_get_param'
           r = nci_hci_get_param(ndev, NCI_HCI_ADMIN_GATE,
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/nfc/nci/hci.c:745:6: note: Assuming 'r' is >= 0
           if (r < 0)
               ^~~~~
   net/nfc/nci/hci.c:745:2: note: Taking false branch
           if (r < 0)
           ^
   net/nfc/nci/hci.c:748:6: note: Access to field 'len' results in a 
dereference of an undefined pointer value (loaded from variable 'skb')
           if (skb->len &&
               ^~~
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   sound/soc/codecs/cs35l33.c:1161:3: warning: Value stored to 'pdata' is never 
read [clang-analyzer-deadcode.DeadStores]
                   pdata = &cs35l33->pdata;
                   ^       ~~~~~~~~~~~~~~~
   sound/soc/codecs/cs35l33.c:1161:3: note: Value stored to 'pdata' is never 
read
                   pdata = &cs35l33->pdata;
                   ^       ~~~~~~~~~~~~~~~
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   8 warnings generated.
   sound/soc/codecs/cs42l42.c:581:8: warning: Excessive padding in 'struct 
cs42l42_pll_params' (4 padding bytes, where 0 is optimal). 
   Optimal fields order: 
   sclk, 
   pll_div_frac, 
   mclk_int, 
   mclk_div, 
   mclk_src_sel, 
   sclk_prediv, 
   pll_div_int, 
   pll_mode, 
   pll_divout, 
   pll_cal_ratio, 
   n, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct cs42l42_pll_params {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
   sound/soc/codecs/cs42l42.c:581:8: note: Excessive padding in 'struct 
cs42l42_pll_params' (4 padding bytes, where 0 is optimal). Optimal fields 
order: sclk, pll_div_frac, mclk_int, mclk_div, mclk_src_sel, sclk_prediv, 
pll_div_int, pll_mode, pll_divout, pll_cal_ratio, n, consider reordering the 
fields or adding explicit padding members
   struct cs42l42_pll_params {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
   sound/soc/codecs/cs42l42.c:1404:28: warning: Value stored to 'component' 
during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct snd_soc_component *component = cs42l42->component;
                                     ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~
   sound/soc/codecs/cs42l42.c:1404:28: note: Value stored to 'component' during 
its initialization is never read
           struct snd_soc_component *component = cs42l42->component;
                                     ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   10 warnings generated.
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   26 warnings generated.
>> drivers/net/ethernet/intel/i40e/i40e_main.c:4643:2: warning: Value stored to 
>> 'pf_q' is never read [clang-analyzer-deadcode.DeadStores]
           pf_q = vsi->base_queue;
           ^      ~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:4643:2: note: Value stored to 
'pf_q' is never read
           pf_q = vsi->base_queue;
           ^      ~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:7949:3: warning: Value stored to 
'need_reset' is never read [clang-analyzer-deadcode.DeadStores]
                   need_reset = false;
                   ^            ~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:7949:3: note: Value stored to 
'need_reset' is never read
                   need_reset = false;
                   ^            ~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:9179:6: warning: Value stored to 
'queue' during its initialization is never read 
[clang-analyzer-deadcode.DeadStores]
           u32 queue = le32_to_cpu(data->prtdcb_rupto);
               ^~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:9179:6: note: Value stored to 
'queue' during its initialization is never read
           u32 queue = le32_to_cpu(data->prtdcb_rupto);
               ^~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:9828:4: warning: Value stored to 
'ret' is never read [clang-analyzer-deadcode.DeadStores]
                           ret = i40e_vc_process_vf_msg(pf,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:9828:4: note: Value stored to 
'ret' is never read
                           ret = i40e_vc_process_vf_msg(pf,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:10707:3: warning: Value stored 
to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = i40e_setup_misc_vector(pf);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:10707:3: note: Value stored to 
'ret' is never read
                   ret = i40e_setup_misc_vector(pf);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:14131:3: warning: Value stored 
to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = i40e_vsi_config_rss(vsi);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_main.c:14131:3: note: Value stored to 
'ret' is never read
                   ret = i40e_vsi_config_rss(vsi);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 20 warnings (20 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   15 warnings generated.
   drivers/net/ethernet/intel/i40e/i40e_ethtool.c:2716:4: warning: Value stored 
to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                           ret = i40e_led_get_phy(hw, &temp_status,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_ethtool.c:2716:4: note: Value stored to 
'ret' is never read
                           ret = i40e_led_get_phy(hw, &temp_status,
                           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (14 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   19 warnings generated.
   drivers/net/ethernet/qlogic/qed/qed_debug.c:1019:3: warning: Call to 
function 'strcpy' is insecure as it does not provide bounding of the memory 
buffer. Replace unbounded copy functions with analogous functions that support 
length arguments such as 'strlcpy'. CWE-119 
[clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(dump_buf, str);
                   ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:1019:3: note: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119
                   strcpy(dump_buf, str);
                   ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:2428:4: warning: Call to 
function 'strcpy' is insecure as it does not provide bounding of the memory 
buffer. Replace unbounded copy functions with analogous functions that support 
length arguments such as 'strlcpy'. CWE-119 
[clang-analyzer-security.insecureAPI.strcpy]
                           strcpy(buf + strlen(buf), name);
                           ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:2428:4: note: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119
                           strcpy(buf + strlen(buf), name);
                           ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:2430:4: warning: Call to 
function 'strcpy' is insecure as it does not provide bounding of the memory 
buffer. Replace unbounded copy functions with analogous functions that support 
length arguments such as 'strlcpy'. CWE-119 
[clang-analyzer-security.insecureAPI.strcpy]
                           strcpy(buf, name);
                           ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:2430:4: note: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119
                           strcpy(buf, name);
                           ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:2460:3: warning: Call to 
function 'strcpy' is insecure as it does not provide bounding of the memory 
buffer. Replace unbounded copy functions with analogous functions that support 
length arguments such as 'strlcpy'. CWE-119 
[clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(buf + strlen(buf), mem_group);
                   ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:2460:3: note: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119
                   strcpy(buf + strlen(buf), mem_group);
                   ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:2462:3: warning: Call to 
function 'strcpy' is insecure as it does not provide bounding of the memory 
buffer. Replace unbounded copy functions with analogous functions that support 
length arguments such as 'strlcpy'. CWE-119 
[clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(buf, mem_group);
                   ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:2462:3: note: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119
                   strcpy(buf, mem_group);
                   ^~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:4087:2: warning: Value stored to 
'byte_buf' is never read [clang-analyzer-deadcode.DeadStores]
           byte_buf += sizeof(signature);
           ^           ~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:4087:2: note: Value stored to 
'byte_buf' is never read
           byte_buf += sizeof(signature);
           ^           ~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:5527:8: warning: Excessive 
padding in 'struct igu_fifo_addr_data' (8 padding bytes, where 0 is optimal). 
   Optimal fields order: 
   desc, 
   vf_desc, 
   type, 
   start_addr, 
   end_addr, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct igu_fifo_addr_data {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:5527:8: note: Excessive padding 
in 'struct igu_fifo_addr_data' (8 padding bytes, where 0 is optimal). Optimal 
fields order: desc, vf_desc, type, start_addr, end_addr, consider reordering 
the fields or adding explicit padding members
   struct igu_fifo_addr_data {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:8012:3: warning: Value stored to 
'offset' is never read [clang-analyzer-deadcode.DeadStores]
                   offset += (feature_size + REGDUMP_HEADER_SIZE);
                   ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/qlogic/qed/qed_debug.c:8012:3: note: Value stored to 
'offset' is never read

vim +/pf_q +4643 drivers/net/ethernet/intel/i40e/i40e_main.c

65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4616  
3aa7b74dbeedfb Filip Sadowski       2016-10-11  4617  /**
3aa7b74dbeedfb Filip Sadowski       2016-10-11  4618   * i40e_vsi_stop_rings - 
Stop a VSI's rings
3aa7b74dbeedfb Filip Sadowski       2016-10-11  4619   * @vsi: the VSI being 
configured
3aa7b74dbeedfb Filip Sadowski       2016-10-11  4620   **/
3aa7b74dbeedfb Filip Sadowski       2016-10-11  4621  void 
i40e_vsi_stop_rings(struct i40e_vsi *vsi)
3aa7b74dbeedfb Filip Sadowski       2016-10-11  4622  {
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4623    struct i40e_pf *pf = 
vsi->back;
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4624    int pf_q, err, q_end;
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4625  
3480756f2cb93c Jacob Keller         2017-04-13  4626    /* When port TX is 
suspended, don't wait */
0da36b9774cc24 Jacob Keller         2017-04-19  4627    if 
(test_bit(__I40E_PORT_SUSPENDED, vsi->back->state))
3480756f2cb93c Jacob Keller         2017-04-13  4628            return 
i40e_vsi_stop_rings_no_wait(vsi);
3480756f2cb93c Jacob Keller         2017-04-13  4629  
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4630    q_end = vsi->base_queue 
+ vsi->num_queue_pairs;
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4631    for (pf_q = 
vsi->base_queue; pf_q < q_end; pf_q++)
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4632            
i40e_pre_tx_queue_cfg(&pf->hw, (u32)pf_q, false);
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4633  
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4634    for (pf_q = 
vsi->base_queue; pf_q < q_end; pf_q++) {
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4635            err = 
i40e_control_wait_rx_q(pf, pf_q, false);
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4636            if (err)
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4637                    
dev_info(&pf->pdev->dev,
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4638                            
 "VSI seid %d Rx ring %d dissable timeout\n",
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4639                            
 vsi->seid, pf_q);
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4640    }
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4641  
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4642    
msleep(I40E_DISABLE_TX_GAP_MSEC);
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29 @4643    pf_q = vsi->base_queue;
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4644    for (pf_q = 
vsi->base_queue; pf_q < q_end; pf_q++)
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4645            wr32(&pf->hw, 
I40E_QTX_ENA(pf_q), 0);
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4646  
65662a8dcdd013 Arkadiusz Kubalewski 2021-04-29  4647    
i40e_vsi_wait_queues_disabled(vsi);
3aa7b74dbeedfb Filip Sadowski       2016-10-11  4648  }
3aa7b74dbeedfb Filip Sadowski       2016-10-11  4649  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to