All of lore.kernel.org
 help / color / mirror / Atom feed
* 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-09 10:25 kernel test robot
  2022-06-15 14:11   ` Arnd Bergmann
  0 siblings, 1 reply; 13+ messages in thread
From: kernel test robot @ 2022-06-09 10:25 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: kbuild-all, linux-kernel

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   6bfb56e93bcef41859c2d5ab234ffd80b691be35
commit: 250c1a694ff304e5d69e74ab32755eddcc2b8f65 ARM: pxa: convert to multiplatform
date:   5 weeks ago
config: arm-randconfig-r023-20220609 (https://download.01.org/0day-ci/archive/20220609/202206091828.eNkyL2EI-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=250c1a694ff304e5d69e74ab32755eddcc2b8f65
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 250c1a694ff304e5d69e74ab32755eddcc2b8f65
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash arch/arm/mach-orion5x/ drivers/cpufreq/ drivers/net/ethernet/intel/i40e/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   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);
         | ^~~~~~~~~~~~~~~~~~~~~
>> 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
    1174 | I40E_CHECK_STRUCT_LEN(0x40, i40e_aqc_cloud_filters_element_data);
         |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:301:56: note: in definition of macro 'I40E_CHECK_STRUCT_LEN'
     301 |         { i40e_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                        ^
>> 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:1185:1: note: in expansion of macro 'I40E_CHECK_STRUCT_LEN'
    1185 | I40E_CHECK_STRUCT_LEN(0x80, i40e_aqc_cloud_filters_element_bb);
         | ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1185:29: error: enumerator value for 'i40e_static_assert_i40e_aqc_cloud_filters_element_bb' is not an integer constant
    1185 | I40E_CHECK_STRUCT_LEN(0x80, i40e_aqc_cloud_filters_element_bb);
         |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:301:56: note: in definition of macro 'I40E_CHECK_STRUCT_LEN'
     301 |         { i40e_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                        ^
>> 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:1506:1: note: in expansion of macro 'I40E_CHECK_STRUCT_LEN'
    1506 | I40E_CHECK_STRUCT_LEN(0x22, i40e_aqc_configure_partition_bw_data);
         | ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1506:29: error: enumerator value for 'i40e_static_assert_i40e_aqc_configure_partition_bw_data' is not an integer constant
    1506 | I40E_CHECK_STRUCT_LEN(0x22, i40e_aqc_configure_partition_bw_data);
         |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:301:56: note: in definition of macro 'I40E_CHECK_STRUCT_LEN'
     301 |         { i40e_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                        ^
>> 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:306:41: note: in expansion of macro 'I40E_CHECK_STRUCT_LEN'
     306 | #define I40E_CHECK_CMD_LENGTH(X)        I40E_CHECK_STRUCT_LEN(16, X)
         |                                         ^~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1769:1: note: in expansion of macro 'I40E_CHECK_CMD_LENGTH'
    1769 | I40E_CHECK_CMD_LENGTH(i40e_aqc_get_link_status);
         | ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1769:23: error: enumerator value for 'i40e_static_assert_i40e_aqc_get_link_status' is not an integer constant
    1769 | I40E_CHECK_CMD_LENGTH(i40e_aqc_get_link_status);
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:301:56: note: in definition of macro 'I40E_CHECK_STRUCT_LEN'
     301 |         { i40e_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                        ^
   drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1769:1: note: in expansion of macro 'I40E_CHECK_CMD_LENGTH'
    1769 | I40E_CHECK_CMD_LENGTH(i40e_aqc_get_link_status);
         | ^~~~~~~~~~~~~~~~~~~~~
>> 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:1908:1: note: in expansion of macro 'I40E_CHECK_STRUCT_LEN'
    1908 | I40E_CHECK_STRUCT_LEN(0x6, i40e_aqc_nvm_config_data_feature);
         | ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:1908:28: error: enumerator value for 'i40e_static_assert_i40e_aqc_nvm_config_data_feature' is not an integer constant
    1908 | I40E_CHECK_STRUCT_LEN(0x6, i40e_aqc_nvm_config_data_feature);
         |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h:301:56: note: in definition of macro 'I40E_CHECK_STRUCT_LEN'
     301 |         { i40e_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                        ^
   In file included from drivers/net/ethernet/intel/i40e/i40e_prototype.h:9,
                    from drivers/net/ethernet/intel/i40e/i40e.h:41,
                    from drivers/net/ethernet/intel/i40e/i40e_main.c:12:
   include/linux/avf/virtchnl.h:160:43: warning: division by zero [-Wdiv-by-zero]
     160 |         { virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                           ^
   include/linux/avf/virtchnl.h:391:1: note: in expansion of macro 'VIRTCHNL_CHECK_STRUCT_LEN'
     391 | VIRTCHNL_CHECK_STRUCT_LEN(14, virtchnl_irq_map_info);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/avf/virtchnl.h:391:31: error: enumerator value for 'virtchnl_static_assert_virtchnl_irq_map_info' is not an integer constant
     391 | VIRTCHNL_CHECK_STRUCT_LEN(14, virtchnl_irq_map_info);
         |                               ^~~~~~~~~~~~~~~~~~~~~
   include/linux/avf/virtchnl.h:160:60: note: in definition of macro 'VIRTCHNL_CHECK_STRUCT_LEN'
     160 |         { virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                            ^
   include/linux/avf/virtchnl.h:160:43: warning: division by zero [-Wdiv-by-zero]
     160 |         { virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                           ^
   include/linux/avf/virtchnl.h:484:1: note: in expansion of macro 'VIRTCHNL_CHECK_STRUCT_LEN'
     484 | VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_vlan_filter_list);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/avf/virtchnl.h:484:30: error: enumerator value for 'virtchnl_static_assert_virtchnl_vlan_filter_list' is not an integer constant
     484 | VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_vlan_filter_list);
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/avf/virtchnl.h:160:60: note: in definition of macro 'VIRTCHNL_CHECK_STRUCT_LEN'
     160 |         { virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                            ^
   include/linux/avf/virtchnl.h:160:43: warning: division by zero [-Wdiv-by-zero]
     160 |         { virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                           ^
   include/linux/avf/virtchnl.h:869:1: note: in expansion of macro 'VIRTCHNL_CHECK_STRUCT_LEN'
     869 | VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_rss_key);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/avf/virtchnl.h:869:30: error: enumerator value for 'virtchnl_static_assert_virtchnl_rss_key' is not an integer constant
     869 | VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_rss_key);
         |                              ^~~~~~~~~~~~~~~~
   include/linux/avf/virtchnl.h:160:60: note: in definition of macro 'VIRTCHNL_CHECK_STRUCT_LEN'
     160 |         { virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                            ^
   include/linux/avf/virtchnl.h:160:43: warning: division by zero [-Wdiv-by-zero]
     160 |         { virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                           ^
   include/linux/avf/virtchnl.h:877:1: note: in expansion of macro 'VIRTCHNL_CHECK_STRUCT_LEN'
     877 | VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_rss_lut);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/avf/virtchnl.h:877:30: error: enumerator value for 'virtchnl_static_assert_virtchnl_rss_lut' is not an integer constant
     877 | VIRTCHNL_CHECK_STRUCT_LEN(6, virtchnl_rss_lut);
         |                              ^~~~~~~~~~~~~~~~
   include/linux/avf/virtchnl.h:160:60: note: in definition of macro 'VIRTCHNL_CHECK_STRUCT_LEN'
     160 |         { virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
         |                                                            ^


vim +/i40e_static_assert_i40e_aqc_cloud_filters_element_data +1174 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h

56a62fc8689509 Jesse Brandeburg 2013-09-11  1173  
2c0015238f7d35 Amritha Nambiar  2017-10-27 @1174  I40E_CHECK_STRUCT_LEN(0x40, i40e_aqc_cloud_filters_element_data);
2c0015238f7d35 Amritha Nambiar  2017-10-27  1175  
2c0015238f7d35 Amritha Nambiar  2017-10-27  1176  /* i40e_aqc_cloud_filters_element_bb is used when
2c0015238f7d35 Amritha Nambiar  2017-10-27  1177   * I40E_AQC_CLOUD_CMD_BB flag is set.
2c0015238f7d35 Amritha Nambiar  2017-10-27  1178   */
2c0015238f7d35 Amritha Nambiar  2017-10-27  1179  struct i40e_aqc_cloud_filters_element_bb {
2c0015238f7d35 Amritha Nambiar  2017-10-27  1180  	struct i40e_aqc_cloud_filters_element_data element;
2c0015238f7d35 Amritha Nambiar  2017-10-27  1181  	u16     general_fields[32];
2c0015238f7d35 Amritha Nambiar  2017-10-27  1182  #define I40E_AQC_ADD_CLOUD_FV_FLU_0X16_WORD0	15
2c0015238f7d35 Amritha Nambiar  2017-10-27  1183  };
2c0015238f7d35 Amritha Nambiar  2017-10-27  1184  
2c0015238f7d35 Amritha Nambiar  2017-10-27 @1185  I40E_CHECK_STRUCT_LEN(0x80, i40e_aqc_cloud_filters_element_bb);
2c0015238f7d35 Amritha Nambiar  2017-10-27  1186  

:::::: The code at line 1174 was first introduced by commit
:::::: 2c0015238f7d357f179249f101d6ed0327bc642a i40e: Admin queue definitions for cloud filters

:::::: TO: Amritha Nambiar <amritha.nambiar@intel.com>
:::::: CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 13+ 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-09 10:25 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 kernel test robot
  2022-06-15 14:11   ` Arnd Bergmann
@ 2022-06-15 14:11   ` Arnd Bergmann
  0 siblings, 0 replies; 13+ 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] 13+ messages in thread

* Re: 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   ` Arnd Bergmann
  0 siblings, 0 replies; 13+ messages in thread
From: Arnd Bergmann @ 2022-06-15 14:11 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 1799 bytes --]

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

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

* Re: 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   ` Arnd Bergmann
  0 siblings, 0 replies; 13+ messages in thread
From: Arnd Bergmann @ 2022-06-15 14:11 UTC (permalink / raw)
  To: kernel test robot
  Cc: Arnd Bergmann, kbuild-all, Linux Kernel Mailing List,
	Russell King - ARM Linux, Jesse Brandeburg, Tony Nguyen,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Intel Wired LAN

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

^ permalink raw reply	[flat|nested] 13+ 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   ` Arnd Bergmann
  (?)
@ 2022-06-15 15:51     ` Jakub Kicinski
  -1 siblings, 0 replies; 13+ 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] 13+ messages in thread

* Re: 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
  0 siblings, 0 replies; 13+ messages in thread
From: Jakub Kicinski @ 2022-06-15 15:51 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 350 bytes --]

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?

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

* Re: 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
  0 siblings, 0 replies; 13+ messages in thread
From: Jakub Kicinski @ 2022-06-15 15:51 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: kernel test robot, kbuild-all, Linux Kernel Mailing List,
	Russell King - ARM Linux, Jesse Brandeburg, Tony Nguyen,
	David S. Miller, Eric Dumazet, Paolo Abeni, Intel Wired LAN

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?

^ permalink raw reply	[flat|nested] 13+ 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
  -1 siblings, 0 replies; 13+ 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] 13+ messages in thread

* Re: 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
  0 siblings, 0 replies; 13+ messages in thread
From: Arnd Bergmann @ 2022-06-15 15:56 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 518 bytes --]

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

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

* Re: 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
  0 siblings, 0 replies; 13+ messages in thread
From: Arnd Bergmann @ 2022-06-15 15:56 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Arnd Bergmann, kernel test robot, kbuild-all,
	Linux Kernel Mailing List, Russell King - ARM Linux,
	Jesse Brandeburg, Tony Nguyen, David S. Miller, Eric Dumazet,
	Paolo Abeni, Intel Wired LAN

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

^ permalink raw reply	[flat|nested] 13+ 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
  -1 siblings, 0 replies; 13+ 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] 13+ messages in thread

* Re: 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 17:28         ` Jakub Kicinski
  0 siblings, 0 replies; 13+ messages in thread
From: Jakub Kicinski @ 2022-06-15 17:28 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 600 bytes --]

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!

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

* Re: 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 17:28         ` Jakub Kicinski
  0 siblings, 0 replies; 13+ messages in thread
From: Jakub Kicinski @ 2022-06-15 17:28 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: kernel test robot, kbuild-all, Linux Kernel Mailing List,
	Russell King - ARM Linux, Jesse Brandeburg, Tony Nguyen,
	David S. Miller, Eric Dumazet, Paolo Abeni, Intel Wired LAN

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!

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

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

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-09 10:25 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 kernel test robot
2022-06-15 14:11 ` [Intel-wired-lan] " Arnd Bergmann
2022-06-15 14:11   ` Arnd Bergmann
2022-06-15 14:11   ` Arnd Bergmann
2022-06-15 15:51   ` [Intel-wired-lan] " Jakub Kicinski
2022-06-15 15:51     ` Jakub Kicinski
2022-06-15 15:51     ` Jakub Kicinski
2022-06-15 15:56     ` [Intel-wired-lan] " Arnd Bergmann
2022-06-15 15:56       ` Arnd Bergmann
2022-06-15 15:56       ` Arnd Bergmann
2022-06-15 17:28       ` [Intel-wired-lan] " Jakub Kicinski
2022-06-15 17:28         ` Jakub Kicinski
2022-06-15 17:28         ` Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.