net/ice/base: fix build with GCC 12
authorWenxuan Wu <wenxuanx.wu@intel.com>
Thu, 23 Jun 2022 09:01:05 +0000 (17:01 +0800)
committerQi Zhang <qi.z.zhang@intel.com>
Thu, 23 Jun 2022 09:17:28 +0000 (11:17 +0200)
GCC 12 with -O2 flag would raise the following warning:
../drivers/net/ice/base/ice_switch.c:7220:61: error: writing 1 byte into a
region of size 0 [-Werror=stringop-overflow=]
 7220 |           buf[recps].content.lkup_indx[i + 1] = entry->fv_idx[i];
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~

This patch changed the type of fv_idx in struct ice_recp_grp_entry to
align with its callers which are also u8 type.

Fixes: 04b8ec1ea807 ("net/ice/base: add protocol structures and defines")
Cc: stable@dpdk.org
Signed-off-by: Wenxuan Wu <wenxuanx.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/base/ice_flex_pipe.c
drivers/net/ice/base/ice_flex_pipe.h
drivers/net/ice/base/ice_protocol_type.h
drivers/net/ice/base/ice_switch.h

index f6a29f8..3918169 100644 (file)
@@ -2564,7 +2564,7 @@ ice_destroy_tunnel_end:
  * @off: variable to receive the protocol offset
  */
 enum ice_status
-ice_find_prot_off(struct ice_hw *hw, enum ice_block blk, u8 prof, u16 fv_idx,
+ice_find_prot_off(struct ice_hw *hw, enum ice_block blk, u8 prof, u8 fv_idx,
                  u8 *prot, u16 *off)
 {
        struct ice_fv_word *fv_ext;
index 23ba455..ab897de 100644 (file)
@@ -25,7 +25,7 @@ enum ice_status
 ice_acquire_change_lock(struct ice_hw *hw, enum ice_aq_res_access_type access);
 void ice_release_change_lock(struct ice_hw *hw);
 enum ice_status
-ice_find_prot_off(struct ice_hw *hw, enum ice_block blk, u8 prof, u16 fv_idx,
+ice_find_prot_off(struct ice_hw *hw, enum ice_block blk, u8 prof, u8 fv_idx,
                  u8 *prot, u16 *off);
 enum ice_status
 ice_find_label_value(struct ice_seg *ice_seg, char const *name, u32 type,
index 8fb95a8..74107de 100644 (file)
@@ -424,7 +424,7 @@ struct ice_recp_grp_entry {
 #define ICE_INVAL_CHAIN_IND 0xFF
        u16 rid;
        u8 chain_idx;
-       u16 fv_idx[ICE_NUM_WORDS_RECIPE];
+       u8 fv_idx[ICE_NUM_WORDS_RECIPE];
        u16 fv_mask[ICE_NUM_WORDS_RECIPE];
        struct ice_pref_recipe_group r_group;
 };
index a2b3c80..c67cd09 100644 (file)
@@ -203,7 +203,7 @@ struct ice_fltr_info {
 
 struct ice_update_recipe_lkup_idx_params {
        u16 rid;
-       u16 fv_idx;
+       u8 fv_idx;
        bool ignore_valid;
        u16 mask;
        bool mask_valid;