[kbuild] drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use.
CC: kbuild-...@lists.01.org BCC: l...@intel.com CC: linux-ker...@vger.kernel.org TO: Qi Zhang CC: Tony Nguyen CC: Dan Nowlin tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 09688c0166e76ce2fb85e86b9d99be8b0084cdf9 commit: b199dddbd399536d5470e10e6bfd7d0e1b5fb71a ice: Support non word aligned input set field date: 12 months ago :: branch date: 20 hours ago :: commit date: 12 months ago config: riscv-randconfig-m031-20220313 (https://download.01.org/0day-ci/archive/20220315/202203150004.kashstrx-...@intel.com/config) compiler: riscv64-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use. Old smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:1698 ice_add_rss_cfg_sync() error: we previously assumed 'prof' could be null (see line 1680) vim +/sib +663 drivers/net/ethernet/intel/ice/ice_flow.c 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 511 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 512 /** 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 513 * ice_flow_xtract_fld - Create an extraction sequence entry for the given field 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 514 * @hw: pointer to the HW struct 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 515 * @params: information about the flow to be processed 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 516 * @seg: packet segment index of the field to be extracted 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 517 * @fld: ID of field to be extracted b199dddbd399536 Qi Zhang 2021-03-09 518 * @match: bit field of all fields 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 519 * 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 520 * This function determines the protocol ID, offset, and size of the given 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 521 * field. It then allocates one or more extraction sequence entries for the 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 522 * given field, and fill the entries with protocol ID and offset information. 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 523 */ 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 524 static enum ice_status 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 525 ice_flow_xtract_fld(struct ice_hw *hw, struct ice_flow_prof_params *params, b199dddbd399536 Qi Zhang 2021-03-09 526 u8 seg, enum ice_flow_field fld, u64 match) 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 527 { b199dddbd399536 Qi Zhang 2021-03-09 528 enum ice_flow_field sib = ICE_FLOW_FIELD_IDX_MAX; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 529 enum ice_prot_id prot_id = ICE_PROT_ID_INVAL; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 530 u8 fv_words = hw->blk[params->blk].es.fvw; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 531 struct ice_flow_fld_info *flds; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 532 u16 cnt, ese_bits, i; b199dddbd399536 Qi Zhang 2021-03-09 533 u16 sib_mask = 0; b199dddbd399536 Qi Zhang 2021-03-09 534 u16 mask; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 535 u16 off; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 536 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 537 flds = params->prof->segs[seg].fields; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 538 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 539 switch (fld) { 390bd141808d501 Qi Zhang 2021-03-09 540 case ICE_FLOW_FIELD_IDX_ETH_DA: 390bd141808d501 Qi Zhang 2021-03-09 541 case ICE_FLOW_FIELD_IDX_ETH_SA: 390bd141808d501 Qi Zhang 2021-03-09 542 case ICE_FLOW_FIELD_IDX_S_VLAN: 390bd141808d501 Qi Zhang 2021-03-09 543 case ICE_FLOW_FIELD_IDX_C_VLAN: 390bd141808d501 Qi Zhang 2021-03-09 544 prot_id = seg == 0 ? ICE_PROT_MAC_OF_OR_S : ICE_PROT_MAC_IL; 390bd141808d501 Qi Zhang 2021-03-09 545 break; 390bd141808d501 Qi Zhang 2021-03-09 546 case ICE_FLOW_FIELD_IDX_ETH_TYPE: 390bd141808d501 Qi Zhang 2021-03-09 547 prot_id = seg == 0 ? ICE_PROT_ETYPE_OL : ICE_PROT_ETYPE_IL; 390bd141808d501 Qi Zhang 2021-03-09 548 break; b199dddbd399536 Qi Zhang 2021-03-09 549 case ICE_FLOW_FIELD_IDX_IPV4_DSCP: b199dddbd399536 Qi Zhang 2021-03-09 550 prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; b199dddbd399536 Qi Zhang 2021-03-09 551 break; b199dddbd399536 Qi Zhang 2021-03-09 552 case ICE_FLOW_FIELD_IDX_IPV6_DSCP: b199dddbd399536 Qi Zhang 2021-03-09 553 prot_id
[kbuild] drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use.
CC: kbuild-...@lists.01.org BCC: l...@intel.com CC: linux-ker...@vger.kernel.org TO: Qi Zhang CC: Tony Nguyen CC: Dan Nowlin tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: aad611a868d16cdc16a7d4a764cef955293e47e3 commit: b199dddbd399536d5470e10e6bfd7d0e1b5fb71a ice: Support non word aligned input set field date: 12 months ago :: branch date: 20 hours ago :: commit date: 12 months ago config: riscv-randconfig-m031-20220313 (https://download.01.org/0day-ci/archive/20220313/202203132208.hielrqyp-...@intel.com/config) compiler: riscv64-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use. Old smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:1698 ice_add_rss_cfg_sync() error: we previously assumed 'prof' could be null (see line 1680) vim +/sib +663 drivers/net/ethernet/intel/ice/ice_flow.c 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 511 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 512 /** 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 513 * ice_flow_xtract_fld - Create an extraction sequence entry for the given field 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 514 * @hw: pointer to the HW struct 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 515 * @params: information about the flow to be processed 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 516 * @seg: packet segment index of the field to be extracted 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 517 * @fld: ID of field to be extracted b199dddbd39953 Qi Zhang 2021-03-09 518 * @match: bit field of all fields 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 519 * 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 520 * This function determines the protocol ID, offset, and size of the given 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 521 * field. It then allocates one or more extraction sequence entries for the 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 522 * given field, and fill the entries with protocol ID and offset information. 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 523 */ 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 524 static enum ice_status 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 525 ice_flow_xtract_fld(struct ice_hw *hw, struct ice_flow_prof_params *params, b199dddbd39953 Qi Zhang 2021-03-09 526u8 seg, enum ice_flow_field fld, u64 match) 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 527 { b199dddbd39953 Qi Zhang 2021-03-09 528enum ice_flow_field sib = ICE_FLOW_FIELD_IDX_MAX; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 529enum ice_prot_id prot_id = ICE_PROT_ID_INVAL; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 530u8 fv_words = hw->blk[params->blk].es.fvw; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 531struct ice_flow_fld_info *flds; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 532u16 cnt, ese_bits, i; b199dddbd39953 Qi Zhang 2021-03-09 533u16 sib_mask = 0; b199dddbd39953 Qi Zhang 2021-03-09 534u16 mask; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 535u16 off; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 536 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 537flds = params->prof->segs[seg].fields; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 538 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 539switch (fld) { 390bd141808d50 Qi Zhang 2021-03-09 540case ICE_FLOW_FIELD_IDX_ETH_DA: 390bd141808d50 Qi Zhang 2021-03-09 541case ICE_FLOW_FIELD_IDX_ETH_SA: 390bd141808d50 Qi Zhang 2021-03-09 542case ICE_FLOW_FIELD_IDX_S_VLAN: 390bd141808d50 Qi Zhang 2021-03-09 543case ICE_FLOW_FIELD_IDX_C_VLAN: 390bd141808d50 Qi Zhang 2021-03-09 544prot_id = seg == 0 ? ICE_PROT_MAC_OF_OR_S : ICE_PROT_MAC_IL; 390bd141808d50 Qi Zhang 2021-03-09 545break; 390bd141808d50 Qi Zhang 2021-03-09 546case ICE_FLOW_FIELD_IDX_ETH_TYPE: 390bd141808d50 Qi Zhang 2021-03-09 547prot_id = seg == 0 ? ICE_PROT_ETYPE_OL : ICE_PROT_ETYPE_IL; 390bd141808d50 Qi Zhang 2021-03-09 548break; b199dddbd39953 Qi Zhang 2021-03-09 549case ICE_FLOW_FIELD_IDX_IPV4_DSCP: b199dddbd39953 Qi Zhang 2021-03-09 550prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; b199dddbd39953 Qi Zhang 2021-03-09 551break; b199dddbd39953 Qi Zhang 2021-03-09 552case ICE_FLOW_FIELD_IDX_IPV6_DSCP: b199dddbd39953 Qi Zhang 2021-03-09 553prot_id = seg == 0 ? ICE_
[kbuild] drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use.
CC: kbuild-...@lists.01.org BCC: l...@intel.com CC: linux-ker...@vger.kernel.org TO: Qi Zhang CC: Tony Nguyen CC: Dan Nowlin tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 9137eda53752ef73148e42b0d7640a00f1bc96b1 commit: b199dddbd399536d5470e10e6bfd7d0e1b5fb71a ice: Support non word aligned input set field date: 11 months ago :: branch date: 7 hours ago :: commit date: 11 months ago config: ia64-randconfig-m031-20220220 (https://download.01.org/0day-ci/archive/20220226/202202261225.lpgudshd-...@intel.com/config) compiler: ia64-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use. Old smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:1698 ice_add_rss_cfg_sync() error: we previously assumed 'prof' could be null (see line 1680) vim +/sib +663 drivers/net/ethernet/intel/ice/ice_flow.c 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 511 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 512 /** 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 513 * ice_flow_xtract_fld - Create an extraction sequence entry for the given field 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 514 * @hw: pointer to the HW struct 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 515 * @params: information about the flow to be processed 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 516 * @seg: packet segment index of the field to be extracted 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 517 * @fld: ID of field to be extracted b199dddbd399536 Qi Zhang 2021-03-09 518 * @match: bit field of all fields 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 519 * 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 520 * This function determines the protocol ID, offset, and size of the given 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 521 * field. It then allocates one or more extraction sequence entries for the 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 522 * given field, and fill the entries with protocol ID and offset information. 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 523 */ 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 524 static enum ice_status 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 525 ice_flow_xtract_fld(struct ice_hw *hw, struct ice_flow_prof_params *params, b199dddbd399536 Qi Zhang 2021-03-09 526 u8 seg, enum ice_flow_field fld, u64 match) 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 527 { b199dddbd399536 Qi Zhang 2021-03-09 528 enum ice_flow_field sib = ICE_FLOW_FIELD_IDX_MAX; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 529 enum ice_prot_id prot_id = ICE_PROT_ID_INVAL; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 530 u8 fv_words = hw->blk[params->blk].es.fvw; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 531 struct ice_flow_fld_info *flds; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 532 u16 cnt, ese_bits, i; b199dddbd399536 Qi Zhang 2021-03-09 533 u16 sib_mask = 0; b199dddbd399536 Qi Zhang 2021-03-09 534 u16 mask; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 535 u16 off; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 536 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 537 flds = params->prof->segs[seg].fields; 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 538 31ad4e4ee1e4e2e Tony Nguyen 2020-01-17 539 switch (fld) { 390bd141808d501 Qi Zhang 2021-03-09 540 case ICE_FLOW_FIELD_IDX_ETH_DA: 390bd141808d501 Qi Zhang 2021-03-09 541 case ICE_FLOW_FIELD_IDX_ETH_SA: 390bd141808d501 Qi Zhang 2021-03-09 542 case ICE_FLOW_FIELD_IDX_S_VLAN: 390bd141808d501 Qi Zhang 2021-03-09 543 case ICE_FLOW_FIELD_IDX_C_VLAN: 390bd141808d501 Qi Zhang 2021-03-09 544 prot_id = seg == 0 ? ICE_PROT_MAC_OF_OR_S : ICE_PROT_MAC_IL; 390bd141808d501 Qi Zhang 2021-03-09 545 break; 390bd141808d501 Qi Zhang 2021-03-09 546 case ICE_FLOW_FIELD_IDX_ETH_TYPE: 390bd141808d501 Qi Zhang 2021-03-09 547 prot_id = seg == 0 ? ICE_PROT_ETYPE_OL : ICE_PROT_ETYPE_IL; 390bd141808d501 Qi Zhang 2021-03-09 548 break; b199dddbd399536 Qi Zhang 2021-03-09 549 case ICE_FLOW_FIELD_IDX_IPV4_DSCP: b199dddbd399536 Qi Zhang 2021-03-09 550 prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; b199dddbd399536 Qi Zhang 2021-03-09 551 break; b199dddbd399536 Qi Zhang 2021-03-09 552 case ICE_FLOW_FIELD_IDX_IPV6_DSCP: b199dddbd399536 Qi Zhang 2021-03-09 553 prot_id = seg
[kbuild] drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use.
CC: kbuild-...@lists.01.org BCC: l...@intel.com CC: linux-ker...@vger.kernel.org TO: Qi Zhang CC: Tony Nguyen CC: Dan Nowlin tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 23d04328444a8fa0ca060c5e532220dac8e8bc26 commit: b199dddbd399536d5470e10e6bfd7d0e1b5fb71a ice: Support non word aligned input set field date: 11 months ago :: branch date: 26 hours ago :: commit date: 11 months ago config: ia64-randconfig-m031-20220220 (https://download.01.org/0day-ci/archive/20220225/202202250650.h7nrs7ej-...@intel.com/config) compiler: ia64-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use. Old smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:1698 ice_add_rss_cfg_sync() error: we previously assumed 'prof' could be null (see line 1680) vim +/sib +663 drivers/net/ethernet/intel/ice/ice_flow.c 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 511 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 512 /** 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 513 * ice_flow_xtract_fld - Create an extraction sequence entry for the given field 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 514 * @hw: pointer to the HW struct 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 515 * @params: information about the flow to be processed 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 516 * @seg: packet segment index of the field to be extracted 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 517 * @fld: ID of field to be extracted b199dddbd39953 Qi Zhang 2021-03-09 518 * @match: bit field of all fields 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 519 * 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 520 * This function determines the protocol ID, offset, and size of the given 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 521 * field. It then allocates one or more extraction sequence entries for the 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 522 * given field, and fill the entries with protocol ID and offset information. 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 523 */ 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 524 static enum ice_status 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 525 ice_flow_xtract_fld(struct ice_hw *hw, struct ice_flow_prof_params *params, b199dddbd39953 Qi Zhang 2021-03-09 526u8 seg, enum ice_flow_field fld, u64 match) 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 527 { b199dddbd39953 Qi Zhang 2021-03-09 528enum ice_flow_field sib = ICE_FLOW_FIELD_IDX_MAX; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 529enum ice_prot_id prot_id = ICE_PROT_ID_INVAL; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 530u8 fv_words = hw->blk[params->blk].es.fvw; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 531struct ice_flow_fld_info *flds; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 532u16 cnt, ese_bits, i; b199dddbd39953 Qi Zhang 2021-03-09 533u16 sib_mask = 0; b199dddbd39953 Qi Zhang 2021-03-09 534u16 mask; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 535u16 off; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 536 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 537flds = params->prof->segs[seg].fields; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 538 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 539switch (fld) { 390bd141808d50 Qi Zhang 2021-03-09 540case ICE_FLOW_FIELD_IDX_ETH_DA: 390bd141808d50 Qi Zhang 2021-03-09 541case ICE_FLOW_FIELD_IDX_ETH_SA: 390bd141808d50 Qi Zhang 2021-03-09 542case ICE_FLOW_FIELD_IDX_S_VLAN: 390bd141808d50 Qi Zhang 2021-03-09 543case ICE_FLOW_FIELD_IDX_C_VLAN: 390bd141808d50 Qi Zhang 2021-03-09 544prot_id = seg == 0 ? ICE_PROT_MAC_OF_OR_S : ICE_PROT_MAC_IL; 390bd141808d50 Qi Zhang 2021-03-09 545break; 390bd141808d50 Qi Zhang 2021-03-09 546case ICE_FLOW_FIELD_IDX_ETH_TYPE: 390bd141808d50 Qi Zhang 2021-03-09 547prot_id = seg == 0 ? ICE_PROT_ETYPE_OL : ICE_PROT_ETYPE_IL; 390bd141808d50 Qi Zhang 2021-03-09 548break; b199dddbd39953 Qi Zhang 2021-03-09 549case ICE_FLOW_FIELD_IDX_IPV4_DSCP: b199dddbd39953 Qi Zhang 2021-03-09 550prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; b199dddbd39953 Qi Zhang 2021-03-09 551break; b199dddbd39953 Qi Zhang 2021-03-09 552case ICE_FLOW_FIELD_IDX_IPV6_DSCP: b199dddbd39953 Qi Zhang 2021-03-09 553prot_id = seg == 0 ? ICE_PROT
[kbuild] drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use.
CC: kbuild-...@lists.01.org CC: linux-ker...@vger.kernel.org TO: Qi Zhang CC: Tony Nguyen CC: Dan Nowlin tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 038101e6b2cd5c55f888f85db42ea2ad3aecb4b6 commit: b199dddbd399536d5470e10e6bfd7d0e1b5fb71a ice: Support non word aligned input set field date: 11 months ago :: branch date: 26 hours ago :: commit date: 11 months ago config: ia64-randconfig-m031-20220220 (https://download.01.org/0day-ci/archive/20220223/202202230223.zedcp365-...@intel.com/config) compiler: ia64-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use. Old smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:1698 ice_add_rss_cfg_sync() error: we previously assumed 'prof' could be null (see line 1680) vim +/sib +663 drivers/net/ethernet/intel/ice/ice_flow.c 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 511 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 512 /** 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 513 * ice_flow_xtract_fld - Create an extraction sequence entry for the given field 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 514 * @hw: pointer to the HW struct 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 515 * @params: information about the flow to be processed 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 516 * @seg: packet segment index of the field to be extracted 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 517 * @fld: ID of field to be extracted b199dddbd39953 Qi Zhang 2021-03-09 518 * @match: bit field of all fields 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 519 * 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 520 * This function determines the protocol ID, offset, and size of the given 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 521 * field. It then allocates one or more extraction sequence entries for the 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 522 * given field, and fill the entries with protocol ID and offset information. 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 523 */ 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 524 static enum ice_status 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 525 ice_flow_xtract_fld(struct ice_hw *hw, struct ice_flow_prof_params *params, b199dddbd39953 Qi Zhang 2021-03-09 526u8 seg, enum ice_flow_field fld, u64 match) 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 527 { b199dddbd39953 Qi Zhang 2021-03-09 528enum ice_flow_field sib = ICE_FLOW_FIELD_IDX_MAX; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 529enum ice_prot_id prot_id = ICE_PROT_ID_INVAL; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 530u8 fv_words = hw->blk[params->blk].es.fvw; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 531struct ice_flow_fld_info *flds; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 532u16 cnt, ese_bits, i; b199dddbd39953 Qi Zhang 2021-03-09 533u16 sib_mask = 0; b199dddbd39953 Qi Zhang 2021-03-09 534u16 mask; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 535u16 off; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 536 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 537flds = params->prof->segs[seg].fields; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 538 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 539switch (fld) { 390bd141808d50 Qi Zhang 2021-03-09 540case ICE_FLOW_FIELD_IDX_ETH_DA: 390bd141808d50 Qi Zhang 2021-03-09 541case ICE_FLOW_FIELD_IDX_ETH_SA: 390bd141808d50 Qi Zhang 2021-03-09 542case ICE_FLOW_FIELD_IDX_S_VLAN: 390bd141808d50 Qi Zhang 2021-03-09 543case ICE_FLOW_FIELD_IDX_C_VLAN: 390bd141808d50 Qi Zhang 2021-03-09 544prot_id = seg == 0 ? ICE_PROT_MAC_OF_OR_S : ICE_PROT_MAC_IL; 390bd141808d50 Qi Zhang 2021-03-09 545break; 390bd141808d50 Qi Zhang 2021-03-09 546case ICE_FLOW_FIELD_IDX_ETH_TYPE: 390bd141808d50 Qi Zhang 2021-03-09 547prot_id = seg == 0 ? ICE_PROT_ETYPE_OL : ICE_PROT_ETYPE_IL; 390bd141808d50 Qi Zhang 2021-03-09 548break; b199dddbd39953 Qi Zhang 2021-03-09 549case ICE_FLOW_FIELD_IDX_IPV4_DSCP: b199dddbd39953 Qi Zhang 2021-03-09 550prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; b199dddbd39953 Qi Zhang 2021-03-09 551break; b199dddbd39953 Qi Zhang 2021-03-09 552case ICE_FLOW_FIELD_IDX_IPV6_DSCP: b199dddbd39953 Qi Zhang 2021-03-09 553prot_id = seg == 0 ? ICE_PROT_IPV6_OF_OR_S : ICE_
[kbuild] drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use.
CC: kbuild-...@lists.01.org CC: linux-ker...@vger.kernel.org TO: Qi Zhang CC: Tony Nguyen CC: Dan Nowlin tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 77478077349f14c78e30faeac358cf1187c0f0c1 commit: b199dddbd399536d5470e10e6bfd7d0e1b5fb71a ice: Support non word aligned input set field date: 11 months ago :: branch date: 3 hours ago :: commit date: 11 months ago config: ia64-randconfig-m031-20220220 (https://download.01.org/0day-ci/archive/20220221/202202210600.1bgzxghc-...@intel.com/config) compiler: ia64-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:663 ice_flow_xtract_fld() error: testing array offset 'sib' after use. Old smatch warnings: drivers/net/ethernet/intel/ice/ice_flow.c:1698 ice_add_rss_cfg_sync() error: we previously assumed 'prof' could be null (see line 1680) vim +/sib +663 drivers/net/ethernet/intel/ice/ice_flow.c 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 511 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 512 /** 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 513 * ice_flow_xtract_fld - Create an extraction sequence entry for the given field 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 514 * @hw: pointer to the HW struct 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 515 * @params: information about the flow to be processed 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 516 * @seg: packet segment index of the field to be extracted 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 517 * @fld: ID of field to be extracted b199dddbd39953 Qi Zhang 2021-03-09 518 * @match: bit field of all fields 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 519 * 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 520 * This function determines the protocol ID, offset, and size of the given 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 521 * field. It then allocates one or more extraction sequence entries for the 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 522 * given field, and fill the entries with protocol ID and offset information. 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 523 */ 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 524 static enum ice_status 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 525 ice_flow_xtract_fld(struct ice_hw *hw, struct ice_flow_prof_params *params, b199dddbd39953 Qi Zhang 2021-03-09 526u8 seg, enum ice_flow_field fld, u64 match) 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 527 { b199dddbd39953 Qi Zhang 2021-03-09 528enum ice_flow_field sib = ICE_FLOW_FIELD_IDX_MAX; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 529enum ice_prot_id prot_id = ICE_PROT_ID_INVAL; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 530u8 fv_words = hw->blk[params->blk].es.fvw; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 531struct ice_flow_fld_info *flds; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 532u16 cnt, ese_bits, i; b199dddbd39953 Qi Zhang 2021-03-09 533u16 sib_mask = 0; b199dddbd39953 Qi Zhang 2021-03-09 534u16 mask; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 535u16 off; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 536 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 537flds = params->prof->segs[seg].fields; 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 538 31ad4e4ee1e4e2 Tony Nguyen 2020-01-17 539switch (fld) { 390bd141808d50 Qi Zhang 2021-03-09 540case ICE_FLOW_FIELD_IDX_ETH_DA: 390bd141808d50 Qi Zhang 2021-03-09 541case ICE_FLOW_FIELD_IDX_ETH_SA: 390bd141808d50 Qi Zhang 2021-03-09 542case ICE_FLOW_FIELD_IDX_S_VLAN: 390bd141808d50 Qi Zhang 2021-03-09 543case ICE_FLOW_FIELD_IDX_C_VLAN: 390bd141808d50 Qi Zhang 2021-03-09 544prot_id = seg == 0 ? ICE_PROT_MAC_OF_OR_S : ICE_PROT_MAC_IL; 390bd141808d50 Qi Zhang 2021-03-09 545break; 390bd141808d50 Qi Zhang 2021-03-09 546case ICE_FLOW_FIELD_IDX_ETH_TYPE: 390bd141808d50 Qi Zhang 2021-03-09 547prot_id = seg == 0 ? ICE_PROT_ETYPE_OL : ICE_PROT_ETYPE_IL; 390bd141808d50 Qi Zhang 2021-03-09 548break; b199dddbd39953 Qi Zhang 2021-03-09 549case ICE_FLOW_FIELD_IDX_IPV4_DSCP: b199dddbd39953 Qi Zhang 2021-03-09 550prot_id = seg == 0 ? ICE_PROT_IPV4_OF_OR_S : ICE_PROT_IPV4_IL; b199dddbd39953 Qi Zhang 2021-03-09 551break; b199dddbd39953 Qi Zhang 2021-03-09 552case ICE_FLOW_FIELD_IDX_IPV6_DSCP: b199dddbd39953 Qi Zhang 2021-03-09 553prot_id = seg == 0 ? ICE_PROT_IPV6_OF_OR_S : ICE_P