* [PATCH iwl-net] idpf: avoid compiler padding in virtchnl2_ptype struct @ 2023-12-27 17:37 Pavan Kumar Linga 2023-12-27 21:45 ` [Intel-wired-lan] " Paul Menzel 0 siblings, 1 reply; 4+ messages in thread From: Pavan Kumar Linga @ 2023-12-27 17:37 UTC (permalink / raw) To: intel-wired-lan Cc: netdev, przemyslaw.kitszel, Pavan Kumar Linga, kernel test robot Config option in arm random config file is causing the compiler to add padding. Avoid it by using "__packed" structure attribute for virtchnl2_ptype struct. Fixes: 0d7502a9b4a7 ("virtchnl: add virtchnl version 2 ops") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202312220250.ufEm8doQ-lkp@intel.com Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@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); /** -- 2.43.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net] idpf: avoid compiler padding in virtchnl2_ptype struct 2023-12-27 17:37 [PATCH iwl-net] idpf: avoid compiler padding in virtchnl2_ptype struct Pavan Kumar Linga @ 2023-12-27 21:45 ` Paul Menzel 2023-12-28 17:39 ` Linga, Pavan Kumar 0 siblings, 1 reply; 4+ messages in thread From: Paul Menzel @ 2023-12-27 21:45 UTC (permalink / raw) To: Pavan Kumar Linga; +Cc: intel-wired-lan, netdev, przemyslaw.kitszel 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. > 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. > Fixes: 0d7502a9b4a7 ("virtchnl: add virtchnl version 2 ops") > Reported-by: kernel test robot <lkp@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202312220250.ufEm8doQ-lkp@intel.com > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@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@molgen.mpg.de> Kind regards, Paul ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net] idpf: avoid compiler padding in virtchnl2_ptype struct 2023-12-27 21:45 ` [Intel-wired-lan] " Paul Menzel @ 2023-12-28 17:39 ` Linga, Pavan Kumar 2024-01-04 22:15 ` Linga, Pavan Kumar 0 siblings, 1 reply; 4+ messages in thread From: Linga, Pavan Kumar @ 2023-12-28 17:39 UTC (permalink / raw) To: Paul Menzel; +Cc: intel-wired-lan, netdev, przemyslaw.kitszel 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@intel.com> >> Closes: >> https://lore.kernel.org/oe-kbuild-all/202312220250.ufEm8doQ-lkp@intel.com >> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> >> Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@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@molgen.mpg.de> > > > > Kind regards, > > Paul ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net] idpf: avoid compiler padding in virtchnl2_ptype struct 2023-12-28 17:39 ` Linga, Pavan Kumar @ 2024-01-04 22:15 ` Linga, Pavan Kumar 0 siblings, 0 replies; 4+ messages in thread From: Linga, Pavan Kumar @ 2024-01-04 22:15 UTC (permalink / raw) To: Paul Menzel; +Cc: intel-wired-lan, netdev, przemyslaw.kitszel, Emil Tantilov On 12/28/2023 9:39 AM, Linga, Pavan Kumar wrote: > > > 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. > After further debug, found that the arm random config was using OABI (old ABI) which was inferred from the compiler option '-mabi=apcs-gnu'. kconfig option 'CONFIG_AEABI' is related to this and was disabled by default in the config file. Static assertion check passed when compiled the driver with 'CONFIG_AEABI' enabled. The check also passed on explicitly changing the compiler option to '-mabi=aapcs-linux'. I will update the commit message with this info. Regards, Pavan >>> 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@intel.com> >>> Closes: >>> https://lore.kernel.org/oe-kbuild-all/202312220250.ufEm8doQ-lkp@intel.com >>> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> >>> Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@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@molgen.mpg.de> >> >> >> >> Kind regards, >> >> Paul > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-01-04 22:15 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-12-27 17:37 [PATCH iwl-net] idpf: avoid compiler padding in virtchnl2_ptype struct Pavan Kumar Linga 2023-12-27 21:45 ` [Intel-wired-lan] " Paul Menzel 2023-12-28 17:39 ` Linga, Pavan Kumar 2024-01-04 22:15 ` Linga, Pavan Kumar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).