[Intel-wired-lan] [PATCH iwl-net] idpf: avoid compiler padding in virtchnl2_ptype struct
Linga, Pavan Kumar
pavan.kumar.linga at intel.com
Thu Dec 28 17:39:07 UTC 2023
On 12/27/2023 1:45 PM, Paul Menzel wrote:
> Dear Pavan,
>
>
> Thank you for yoru patch.
>
> Am 27.12.23 um 18:37 schrieb Pavan Kumar Linga:
>> Config option in arm random config file
>
> Sorry, I do not understand this part of the sentence. What Kconfig
> option was selected exactly causing this behavior.
>
Apologies as I couldn't find the config option that was causing this. As
the driver compilation with arm rand config was failing, posted the fix
first. Will debug further to find the config option that resulted in
this failure. Thanks for the review.
>> is causing the compiler
>> to add padding. Avoid it by using "__packed" structure attribute
>> for virtchnl2_ptype struct.
>
> Did the compiler emit a warning? If so, please paste it.
>
Here is the compiler error and also will update the commit message with
the error:
include/linux/build_bug.h:78:41: error: static assertion failed: "(6) ==
sizeof(struct virtchnl2_ptype)"
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr,
msg)
| ^~~~~~~~~~~~~~
include/linux/build_bug.h:77:34: note: in expansion of macro
'__static_assert'
77 | #define static_assert(expr, ...) __static_assert(expr,
##__VA_ARGS__, #expr)
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/intel/idpf/virtchnl2.h:26:9: note: in expansion
of macro 'static_assert'
26 | static_assert((n) == sizeof(struct X))
| ^~~~~~~~~~~~~
drivers/net/ethernet/intel/idpf/virtchnl2.h:982:1: note: in
expansion of macro 'VIRTCHNL2_CHECK_STRUCT_LEN'
982 | VIRTCHNL2_CHECK_STRUCT_LEN(6, virtchnl2_ptype);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
Regards,
Pavan
>> Fixes: 0d7502a9b4a7 ("virtchnl: add virtchnl version 2 ops")
>> Reported-by: kernel test robot <lkp at intel.com>
>> Closes:
>> https://lore.kernel.org/oe-kbuild-all/202312220250.ufEm8doQ-lkp@intel.com
>> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel at intel.com>
>> Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga at intel.com>
>> ---
>> drivers/net/ethernet/intel/idpf/virtchnl2.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> 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;
>> VIRTCHNL2_CHECK_STRUCT_LEN(6, virtchnl2_ptype);
>> /**
>
> Reviewed-by: Paul Menzel <pmenzel at molgen.mpg.de>
>
>
>
> Kind regards,
>
> Paul
More information about the Intel-wired-lan
mailing list