intel-wired-lan.lists.osuosl.org archive mirror
 help / color / mirror / Atom feed
* Re: [Intel-wired-lan] drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1174:29: error: enumerator value for 'i40e_static_assert_i40e_aqc_cloud_filters_element_data' is not an integer constant
       [not found] <202206091828.eNkyL2EI-lkp@intel.com>
@ 2022-06-15 14:11 ` Arnd Bergmann
  2022-06-15 15:51   ` Jakub Kicinski
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2022-06-15 14:11 UTC (permalink / raw)
  To: kernel test robot
  Cc: kbuild-all, Arnd Bergmann, Intel Wired LAN,
	Linux Kernel Mailing List, Eric Dumazet, Jakub Kicinski,
	Russell King - ARM Linux, Paolo Abeni, David S. Miller

On Thu, Jun 9, 2022 at 12:25 PM kernel test robot <lkp@intel.com> wrote:
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   6bfb56e93bcef41859c2d5ab234ffd80b691be35
> commit: 250c1a694ff304e5d69e74ab32755eddcc2b8f65 ARM: pxa: convert to multiplatform

This is not really related to my commit but it does disappear before
this one when bisecting.

>    In file included from drivers/net/ethernet/intel/i40e/i40e_adminq.h:9,
>                     from drivers/net/ethernet/intel/i40e/i40e_type.h:10,
>                     from drivers/net/ethernet/intel/i40e/i40e.h:40,
>                     from drivers/net/ethernet/intel/i40e/i40e_main.c:12:
> >> drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:301:39: warning: division by zero [-Wdiv-by-zero]
>      301 |         { i40e_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
>          |                                       ^
>    drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1174:1: note: in expansion of macro 'I40E_CHECK_STRUCT_LEN'
>     1174 | I40E_CHECK_STRUCT_LEN(0x40, i40e_aqc_cloud_filters_element_data);
>          | ^~~~~~~~~~~~~~~~~~~~~

The bug is that 'i40e_aqc_cloud_filters_element_data' and some other
structures in the
same file are broken when building an ARM kernel without CONFIG_AEABI, which has
unusual struct packing rules and triggers the static assertion.

It's clearly a bug, but nobody is going to run this driver on an OABI
kernel, so I think
the options are:

- add "__packed __aligned(4)" to each of these structure definitions
- make the driver depend on !(ARM && AEABI) in Kconfig
- ask lkp to stop testing CONFIG_AEABI=n kernels in randconfig builds
  and ignore the problem along with others like it

         Arnd
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Intel-wired-lan] drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1174:29: error: enumerator value for 'i40e_static_assert_i40e_aqc_cloud_filters_element_data' is not an integer constant
  2022-06-15 14:11 ` [Intel-wired-lan] drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1174:29: error: enumerator value for 'i40e_static_assert_i40e_aqc_cloud_filters_element_data' is not an integer constant Arnd Bergmann
@ 2022-06-15 15:51   ` Jakub Kicinski
  2022-06-15 15:56     ` Arnd Bergmann
  0 siblings, 1 reply; 4+ messages in thread
From: Jakub Kicinski @ 2022-06-15 15:51 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: kbuild-all, Linux Kernel Mailing List, Russell King - ARM Linux,
	Eric Dumazet, Intel Wired LAN, Paolo Abeni, David S. Miller

On Wed, 15 Jun 2022 16:11:17 +0200 Arnd Bergmann wrote:
> The bug is that 'i40e_aqc_cloud_filters_element_data' and some other
> structures in the
> same file are broken when building an ARM kernel without CONFIG_AEABI, which has
> unusual struct packing rules and triggers the static assertion.

What are those packing rules, out of curiosity?
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Intel-wired-lan] drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1174:29: error: enumerator value for 'i40e_static_assert_i40e_aqc_cloud_filters_element_data' is not an integer constant
  2022-06-15 15:51   ` Jakub Kicinski
@ 2022-06-15 15:56     ` Arnd Bergmann
  2022-06-15 17:28       ` Jakub Kicinski
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2022-06-15 15:56 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: kbuild-all, Arnd Bergmann, Linux Kernel Mailing List,
	Russell King - ARM Linux, Eric Dumazet, Intel Wired LAN,
	Paolo Abeni, David S. Miller

On Wed, Jun 15, 2022 at 5:51 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Wed, 15 Jun 2022 16:11:17 +0200 Arnd Bergmann wrote:
> > The bug is that 'i40e_aqc_cloud_filters_element_data' and some other
> > structures in the
> > same file are broken when building an ARM kernel without CONFIG_AEABI, which has
> > unusual struct packing rules and triggers the static assertion.
>
> What are those packing rules, out of curiosity?

On the old OABI, each struct member is on a 32-bit boundary.

       Arnd
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Intel-wired-lan] drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1174:29: error: enumerator value for 'i40e_static_assert_i40e_aqc_cloud_filters_element_data' is not an integer constant
  2022-06-15 15:56     ` Arnd Bergmann
@ 2022-06-15 17:28       ` Jakub Kicinski
  0 siblings, 0 replies; 4+ messages in thread
From: Jakub Kicinski @ 2022-06-15 17:28 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: kbuild-all, Linux Kernel Mailing List, Russell King - ARM Linux,
	Eric Dumazet, Intel Wired LAN, Paolo Abeni, David S. Miller

On Wed, 15 Jun 2022 17:56:24 +0200 Arnd Bergmann wrote:
> On Wed, Jun 15, 2022 at 5:51 PM Jakub Kicinski <kuba@kernel.org> wrote:
> >
> > On Wed, 15 Jun 2022 16:11:17 +0200 Arnd Bergmann wrote:  
> > > The bug is that 'i40e_aqc_cloud_filters_element_data' and some other
> > > structures in the
> > > same file are broken when building an ARM kernel without CONFIG_AEABI, which has
> > > unusual struct packing rules and triggers the static assertion.  
> >
> > What are those packing rules, out of curiosity?  
> 
> On the old OABI, each struct member is on a 32-bit boundary.

Oh. GTK!
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-06-15 17:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <202206091828.eNkyL2EI-lkp@intel.com>
2022-06-15 14:11 ` [Intel-wired-lan] drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1174:29: error: enumerator value for 'i40e_static_assert_i40e_aqc_cloud_filters_element_data' is not an integer constant Arnd Bergmann
2022-06-15 15:51   ` Jakub Kicinski
2022-06-15 15:56     ` Arnd Bergmann
2022-06-15 17:28       ` Jakub Kicinski

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).