From: Pavan Kumar Linga <pavan.kumar.li...@intel.com> Date: Thu, 4 Jan 2024 17:32:32 -0800
> In the arm random config file, kconfig option 'CONFIG_AEABI' is > disabled which results in adding the compiler flag '-mabi=apcs-gnu'. > This causes the compiler to add padding in virtchnl2_ptype > structure to align it to 8 bytes, resulting in the following > size check failure: [...] > diff --git a/drivers/net/ethernet/intel/idpf/virtchnl2.h > b/drivers/net/ethernet/intel/idpf/virtchnl2.h > index 8dc83788972..dd750e6dcd0 100644 > --- a/drivers/net/ethernet/intel/idpf/virtchnl2.h > +++ b/drivers/net/ethernet/intel/idpf/virtchnl2.h > @@ -978,7 +978,7 @@ struct virtchnl2_ptype { > u8 proto_id_count; > __le16 pad; > __le16 proto_id[]; > -}; > +} __packed; Try using `__packed __aligned(sizeof(__le16))` (or just `__packed __aligned(2)`) here. It may generate more optimized code than just __packed, as the latter assumes the structure address in the memory can be `2n + 1`, while it fact it's aligned to 2 bytes. (another virtchnl2 design fail anyway :D) > VIRTCHNL2_CHECK_STRUCT_LEN(6, virtchnl2_ptype); > > /** Thanks, Olek