lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 28 Dec 2023 09:39:07 -0800
From: "Linga, Pavan Kumar" <pavan.kumar.linga@...el.com>
To: Paul Menzel <pmenzel@...gen.mpg.de>
CC: <intel-wired-lan@...ts.osuosl.org>, <netdev@...r.kernel.org>,
	<przemyslaw.kitszel@...el.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-net] idpf: avoid compiler padding in
 virtchnl2_ptype struct



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@...el.com>
>> Closes: 
>> https://lore.kernel.org/oe-kbuild-all/202312220250.ufEm8doQ-lkp@intel.com
>> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
>> Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@...el.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@...gen.mpg.de>
> 
> 
> 
> Kind regards,
> 
> Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ