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:   c9e6606c7fe92b50a02ce51dda82586ebdf99b48
commit: 65662a8dcdd01342b71ee44234bcfd0162e195af i40e: Fix logic of disabling 
queues
date:   5 months ago
:::::: branch date: 20 hours ago
:::::: commit date: 5 months ago
config: x86_64-randconfig-c007-20220101 
(https://download.01.org/0day-ci/archive/20220104/[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 >>)
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:899:8: note: 'plltype' is equal to SSB_PLLTYPE_1
                   if ((plltype == SSB_PLLTYPE_1) ||
                        ^~~~~~~
   drivers/ssb/main.c:899:34: note: Left side of '||' is true
                   if ((plltype == SSB_PLLTYPE_1) ||
                                                  ^
   drivers/ssb/main.c:904:8: note: Calling 'clkfactor_f6_resolve'
                   m3 = clkfactor_f6_resolve(m3);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:828:2: note: 'Default' branch taken. Execution continues 
on line 842
           switch (v) {
           ^
   drivers/ssb/main.c:842:2: note: Returning zero
           return 0;
           ^~~~~~~~
   drivers/ssb/main.c:904:8: note: Returning from 'clkfactor_f6_resolve'
                   m3 = clkfactor_f6_resolve(m3);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:904:3: note: The value 0 is assigned to 'm3'
                   m3 = clkfactor_f6_resolve(m3);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:906:3: note: Control jumps to 'case 1:'  at line 913
                   switch (mc) {
                   ^
   drivers/ssb/main.c:914:18: note: Division by zero
                           return (clock / (m1 * m2 * m3));
                                   ~~~~~~^~~~~~~~~~~~~~~~
   drivers/ssb/main.c:916:18: warning: Division by zero 
[clang-analyzer-core.DivideZero]
                           return (clock / (m1 * m3));
                                   ~~~~~~^~~~~~~~~~~
   drivers/ssb/main.c:853:2: note: Control jumps to 'case 65536:'  at line 858
           switch (plltype) {
           ^
   drivers/ssb/main.c:864:3: note:  Execution continues on line 877
                   break;
                   ^
   drivers/ssb/main.c:877:2: note: Control jumps to the 'default' case at line 
882
           switch (plltype) {
           ^
   drivers/ssb/main.c:885:6: note: Assuming 'clock' is not equal to 0
           if (!clock)
               ^~~~~~
   drivers/ssb/main.c:885:2: note: Taking false branch
           if (!clock)
           ^
   drivers/ssb/main.c:893:2: note: Control jumps to 'case 65536:'  at line 894
           switch (plltype) {
           ^
   drivers/ssb/main.c:898:8: note: Calling 'clkfactor_f6_resolve'
                   m1 = clkfactor_f6_resolve(m1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:828:2: note: 'Default' branch taken. Execution continues 
on line 842
           switch (v) {
           ^
   drivers/ssb/main.c:842:2: note: Returning zero
           return 0;
           ^~~~~~~~
   drivers/ssb/main.c:898:8: note: Returning from 'clkfactor_f6_resolve'
                   m1 = clkfactor_f6_resolve(m1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:898:3: note: The value 0 is assigned to 'm1'
                   m1 = clkfactor_f6_resolve(m1);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:899:8: note: 'plltype' is equal to SSB_PLLTYPE_1
                   if ((plltype == SSB_PLLTYPE_1) ||
                        ^~~~~~~
   drivers/ssb/main.c:899:34: note: Left side of '||' is true
                   if ((plltype == SSB_PLLTYPE_1) ||
                                                  ^
   drivers/ssb/main.c:904:8: note: Calling 'clkfactor_f6_resolve'
                   m3 = clkfactor_f6_resolve(m3);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:828:2: note: 'Default' branch taken. Execution continues 
on line 842
           switch (v) {
           ^
   drivers/ssb/main.c:842:2: note: Returning zero
           return 0;
           ^~~~~~~~
   drivers/ssb/main.c:904:8: note: Returning from 'clkfactor_f6_resolve'
                   m3 = clkfactor_f6_resolve(m3);
                        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:904:3: note: The value 0 is assigned to 'm3'
                   m3 = clkfactor_f6_resolve(m3);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/ssb/main.c:906:3: note: Control jumps to 'case 17:'  at line 915
                   switch (mc) {
                   ^
   drivers/ssb/main.c:916:18: note: Division by zero
                           return (clock / (m1 * m3));
                                   ~~~~~~^~~~~~~~~~~
   Suppressed 4 warnings (4 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.
   4 warnings generated.
   sound/soc/intel/atom/sst/sst_acpi.c:315:2: 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(ctx->firmware_name, mach->fw_filename);
           ^~~~~~
   sound/soc/intel/atom/sst/sst_acpi.c:315:2: 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(ctx->firmware_name, mach->fw_filename);
           ^~~~~~
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   5 warnings generated.
   include/linux/list.h:135:13: warning: Use of memory after it is freed 
[clang-analyzer-unix.Malloc]
           __list_del(entry->prev, entry->next);
                      ^
   sound/virtio/virtio_ctl_msg.c:238:2: note: Loop condition is false.  Exiting 
loop
           spin_lock_irqsave(&queue->lock, flags);
           ^
   include/linux/spinlock.h:384:2: note: expanded from macro 'spin_lock_irqsave'
           raw_spin_lock_irqsave(spinlock_check(lock), flags);     \
           ^
   include/linux/spinlock.h:250:2: note: expanded from macro 
'raw_spin_lock_irqsave'
           do {                                            \
           ^
   sound/virtio/virtio_ctl_msg.c:238:2: note: Loop condition is false.  Exiting 
loop
           spin_lock_irqsave(&queue->lock, flags);
           ^
   include/linux/spinlock.h:382:43: note: expanded from macro 
'spin_lock_irqsave'
   #define spin_lock_irqsave(lock, flags)                          \
                                                                   ^
   sound/virtio/virtio_ctl_msg.c:239:2: note: Loop condition is true.  Entering 
loop body
           while (!list_empty(&snd->ctl_msgs)) {

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