:::::: 
:::::: Manual check reason: "low confidence static check warning: 
drivers/net/ethernet/intel/ice/ice_sriov.c:39:14: warning: Uninitialized 
variables: vf.rcu, vf.refcnt, vf.pf, vf.cfg_lock, vf.vf_id, vf.lan_vsi_idx, 
vf.ctrl_vsi_idx, vf.fdir, vf.first_vector_idx, vf.vf_sw_id, vf.vf_ver, 
vf.driver_caps, vf.dev_lan_addr, vf.hw_lan_addr, vf.legacy_last_added_umac, 
vf.port_vlan_info, vf.vlan_v2_caps, vf.pf_set_mac, vf.trusted, vf.spoofchk, 
vf.link_forced, vf.link_up, vf.lan_vsi_num, vf.min_tx_rate, vf.max_tx_rate, 
vf.vf_caps, vf.num_req_qs, vf.num_mac, vf.num_vf_qs, vf.mdd_rx_events, 
vf.mdd_tx_events, vf.repr, vf.virtchnl_ops, vf.vf_ops, vf.devlink_port 
[uninitvar]"
:::::: 

BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Jacob Keller <[email protected]>
CC: Tony Nguyen <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   b96fbd602d35739b5cdb49baa02048f2c41fdab1
commit: bf93bf791cec8aee0c3b9811097813726c1c01be ice: introduce ice_virtchnl.c 
and ice_virtchnl.h
date:   6 months ago
:::::: branch date: 19 hours ago
:::::: commit date: 6 months ago
compiler: alpha-linux-gcc (GCC) 12.1.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout bf93bf791cec8aee0c3b9811097813726c1c01be
        cppcheck --quiet --enable=style,performance,portability --template=gcc 
FILE

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/net/ethernet/intel/ice/ice_sriov.c:39:14: warning: Uninitialized 
>> variables: vf.rcu, vf.refcnt, vf.pf, vf.cfg_lock, vf.vf_id, vf.lan_vsi_idx, 
>> vf.ctrl_vsi_idx, vf.fdir, vf.first_vector_idx, vf.vf_sw_id, vf.vf_ver, 
>> vf.driver_caps, vf.dev_lan_addr, vf.hw_lan_addr, vf.legacy_last_added_umac, 
>> vf.port_vlan_info, vf.vlan_v2_caps, vf.pf_set_mac, vf.trusted, vf.spoofchk, 
>> vf.link_forced, vf.link_up, vf.lan_vsi_num, vf.min_tx_rate, vf.max_tx_rate, 
>> vf.vf_caps, vf.num_req_qs, vf.num_mac, vf.num_vf_qs, vf.mdd_rx_events, 
>> vf.mdd_tx_events, vf.repr, vf.virtchnl_ops, vf.vf_ops, vf.devlink_port 
>> [uninitvar]
     ice_put_vf(vf);
                ^
>> drivers/net/ethernet/intel/ice/ice_sriov.c:641:7: warning: Uninitialized 
>> variable: vf->vf_ops [uninitvar]
     vf->vf_ops->clear_reset_trigger(vf);
         ^
>> drivers/net/ethernet/intel/ice/ice_sriov.c:1097:45: warning: Uninitialized 
>> variable: vf->vf_id [uninitvar]
     reg_idx = (hw->func_caps.vf_base_id + vf->vf_id) / 32;
                                               ^
   drivers/net/ethernet/intel/ice/ice_sriov.c:1089:61: note: Assuming condition 
is false
    if (!test_and_clear_bit(ICE_VFLR_EVENT_PENDING, pf->state) ||
                                                               ^
   drivers/net/ethernet/intel/ice/ice_sriov.c:1097:45: note: Uninitialized 
variable: vf->vf_id
     reg_idx = (hw->func_caps.vf_base_id + vf->vf_id) / 32;
                                               ^
>> drivers/net/ethernet/intel/ice/ice_sriov.c:1130:24: warning: Uninitialized 
>> variables: vf.entry, vf.rcu, vf.refcnt, vf.pf, vf.cfg_lock, vf.vf_id, 
>> vf.lan_vsi_idx, vf.ctrl_vsi_idx, vf.fdir, vf.first_vector_idx, vf.vf_sw_id, 
>> vf.vf_ver, vf.driver_caps, vf.dev_lan_addr, vf.hw_lan_addr, 
>> vf.legacy_last_added_umac, vf.port_vlan_info, vf.vlan_v2_caps, 
>> vf.pf_set_mac, vf.trusted, vf.spoofchk, vf.link_forced, vf.link_up, 
>> vf.lan_vsi_num, vf.min_tx_rate, vf.max_tx_rate, vf.vf_caps, vf.num_req_qs, 
>> vf.num_mac, vf.num_vf_qs, vf.mdd_rx_events, vf.mdd_tx_events, vf.repr, 
>> vf.virtchnl_ops, vf.vf_ops, vf.devlink_port [uninitvar]
     vsi = ice_get_vf_vsi(vf);
                          ^
   drivers/net/ethernet/intel/ice/ice_sriov.c:1317:33: warning: Uninitialized 
variable: list_itr->fltr_info [uninitvar]
     u8 *existing_mac = &list_itr->fltr_info.l_data.mac.mac_addr[0];
                                   ^

vim +39 drivers/net/ethernet/intel/ice/ice_sriov.c

ddf30f7ff840d4 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Anirudh 
Venkataramanan 2018-09-19  16  
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  17  /**
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  18   * ice_free_vf_entries - Free all VF entries from the 
hash table
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  19   * @pf: pointer to the PF structure
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  20   *
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  21   * Iterate over the VF hash table, removing and 
releasing all VF entries.
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  22   * Called during VF teardown or as cleanup during failed 
VF initialization.
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  23   */
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  24  static void ice_free_vf_entries(struct ice_pf *pf)
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  25  {
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  26   struct ice_vfs *vfs = &pf->vfs;
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  27   struct hlist_node *tmp;
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  28   struct ice_vf *vf;
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  29   unsigned int bkt;
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  30  
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  31   /* Remove all VFs from the hash table and release their 
main
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  32    * reference. Once all references to the VF are 
dropped, ice_put_vf()
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  33    * will call ice_release_vf which will remove the VF 
memory.
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  34    */
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  35   lockdep_assert_held(&vfs->table_lock);
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  36  
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  37   hash_for_each_safe(vfs->table, bkt, tmp, vf, entry) {
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  38           hash_del_rcu(&vf->entry);
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16 @39           ice_put_vf(vf);
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  40   }
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  41  }
3d5985a185e6ab drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c Jacob Keller    
       2022-02-16  42  

:::::: The code at line 39 was first introduced by commit
:::::: 3d5985a185e6abfc0b38ed187819016a79eca864 ice: convert VF storage to hash 
table with krefs and RCU

:::::: TO: Jacob Keller <[email protected]>
:::::: CC: Tony Nguyen <[email protected]>

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

Reply via email to