[PATCH] ice/base: fix gcc 12 warning stringop-overflow
Zhang, Qi Z
qi.z.zhang at intel.com
Sun Jun 19 14:34:53 CEST 2022
> -----Original Message-----
> From: Wu, WenxuanX <wenxuanx.wu at intel.com>
> Sent: Thursday, June 16, 2022 6:33 PM
> To: Yang, Qiming <qiming.yang at intel.com>; Zhang, Qi Z
> <qi.z.zhang at intel.com>; dev at dpdk.org; thomas at monjalon.net
> Cc: stephen at networkplumber.org; Wu, WenxuanX <wenxuanx.wu at intel.com>;
> stable at dpdk.org
> Subject: [PATCH] ice/base: fix gcc 12 warning stringop-overflow
>
> From: Wenxuan Wu <wenxuanx.wu at intel.com>
>
> Gcc with -O2 flag, would retrieve the value in one time.
> This patch changed the type of fv_idx in struct ice_recp_grp_entry to align with
> its callers which is also u8 type.
>
> When u8 idx[5] = a value u16 index[4], gcc12 would give this warning, because
> it is not big enough to store the bytes(bigger than 5 bytes) in one time (-O2
> would do it in this way).
>
> Fixes: 04b8ec1ea807 ("net/ice/base: add protocol structures and defines")
> Cc: stable at dpdk.org
> Signed-off-by: Wenxuan Wu <wenxuanx.wu at intel.com>
> ---
> drivers/net/ice/base/ice_protocol_type.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ice/base/ice_protocol_type.h
> b/drivers/net/ice/base/ice_protocol_type.h
> index 0e6e5990be..cfe3b62630 100644
> --- a/drivers/net/ice/base/ice_protocol_type.h
> +++ b/drivers/net/ice/base/ice_protocol_type.h
> @@ -421,7 +421,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];
If you change the data type from u16 to u8 for the FV index, you'd better also change the type of all the symbols to store the same thing. e.g. the parameter "fv_idx" of ice_find_prot_off.
So, what's exactly the issue that GCC 12 reported? can we fix it from the other side without changing a type in the base code?
> u16 fv_mask[ICE_NUM_WORDS_RECIPE];
> struct ice_pref_recipe_group r_group;
> };
> --
> 2.25.1
More information about the dev
mailing list