Subject: Re: [PATCH net-next v6 3/5] net: dsa: add out-of-band tagging protocol

From: kernel test robot <[email-masked]>
Date: Tue, 1 Nov 2022 23:29:48 +0800

Hi Maxime,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/intel-lab-lkp/linux/commits/Maxime-Chevallier/net-ipqess-introduce-Qualcomm-IPQESS-driver/20221028-235225
patch link:    https://lore.kernel.org/r/20221028154924.789116-4-maxime.chevallier%40bootlin.com
patch subject: [PATCH net-next v6 3/5] net: dsa: add out-of-band tagging protocol
config: ia64-allmodconfig
compiler: ia64-linux-gcc (GCC) 12.1.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://github.com/intel-lab-lkp/linux/commit/884e36895753174613b5411e0b1da1f2ccb719bc
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Maxime-Chevallier/net-ipqess-introduce-Qualcomm-IPQESS-driver/20221028-235225
        git checkout 884e36895753174613b5411e0b1da1f2ccb719bc
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash net/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email-masked]>

All errors (new ones prefixed by >>):

   In file included from include/vdso/const.h:5,
                    from include/linux/const.h:4,
                    from include/linux/list.h:9,
                    from include/linux/module.h:12,
                    from net/core/skbuff.c:37:
>> net/core/skbuff.c:4491:49: error: invalid application of 'sizeof' to incomplete type 'struct dsa_oob_tag_info'
    4491 |         [SKB_EXT_DSA_OOB] = SKB_EXT_CHUNKSIZEOF(struct dsa_oob_tag_info),
         |                                                 ^~~~~~
   include/uapi/linux/const.h:32:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
      32 | #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
         |                                            ^
   include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
       8 | #define ALIGN(x, a)             __ALIGN_KERNEL((x), (a))
         |                                 ^~~~~~~~~~~~~~
   net/core/skbuff.c:4472:34: note: in expansion of macro 'ALIGN'
    4472 | #define SKB_EXT_CHUNKSIZEOF(x)  (ALIGN((sizeof(x)), SKB_EXT_ALIGN_VALUE) / SKB_EXT_ALIGN_VALUE)
         |                                  ^~~~~
   net/core/skbuff.c:4491:29: note: in expansion of macro 'SKB_EXT_CHUNKSIZEOF'
    4491 |         [SKB_EXT_DSA_OOB] = SKB_EXT_CHUNKSIZEOF(struct dsa_oob_tag_info),
         |                             ^~~~~~~~~~~~~~~~~~~
>> net/core/skbuff.c:4491:49: error: invalid application of 'sizeof' to incomplete type 'struct dsa_oob_tag_info'
    4491 |         [SKB_EXT_DSA_OOB] = SKB_EXT_CHUNKSIZEOF(struct dsa_oob_tag_info),
         |                                                 ^~~~~~
   include/uapi/linux/const.h:32:50: note: in definition of macro '__ALIGN_KERNEL_MASK'
      32 | #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
         |                                                  ^~~~
   include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
       8 | #define ALIGN(x, a)             __ALIGN_KERNEL((x), (a))
         |                                 ^~~~~~~~~~~~~~
   net/core/skbuff.c:4472:34: note: in expansion of macro 'ALIGN'
    4472 | #define SKB_EXT_CHUNKSIZEOF(x)  (ALIGN((sizeof(x)), SKB_EXT_ALIGN_VALUE) / SKB_EXT_ALIGN_VALUE)
         |                                  ^~~~~
   net/core/skbuff.c:4491:29: note: in expansion of macro 'SKB_EXT_CHUNKSIZEOF'
    4491 |         [SKB_EXT_DSA_OOB] = SKB_EXT_CHUNKSIZEOF(struct dsa_oob_tag_info),
         |                             ^~~~~~~~~~~~~~~~~~~
>> net/core/skbuff.c:4491:49: error: invalid application of 'sizeof' to incomplete type 'struct dsa_oob_tag_info'
    4491 |         [SKB_EXT_DSA_OOB] = SKB_EXT_CHUNKSIZEOF(struct dsa_oob_tag_info),
         |                                                 ^~~~~~
   include/uapi/linux/const.h:32:61: note: in definition of macro '__ALIGN_KERNEL_MASK'
      32 | #define __ALIGN_KERNEL_MASK(x, mask)    (((x) + (mask)) & ~(mask))
         |                                                             ^~~~
   include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
       8 | #define ALIGN(x, a)             __ALIGN_KERNEL((x), (a))
         |                                 ^~~~~~~~~~~~~~
   net/core/skbuff.c:4472:34: note: in expansion of macro 'ALIGN'
    4472 | #define SKB_EXT_CHUNKSIZEOF(x)  (ALIGN((sizeof(x)), SKB_EXT_ALIGN_VALUE) / SKB_EXT_ALIGN_VALUE)
         |                                  ^~~~~
   net/core/skbuff.c:4491:29: note: in expansion of macro 'SKB_EXT_CHUNKSIZEOF'
    4491 |         [SKB_EXT_DSA_OOB] = SKB_EXT_CHUNKSIZEOF(struct dsa_oob_tag_info),
         |                             ^~~~~~~~~~~~~~~~~~~

vim +4491 net/core/skbuff.c

  4473	
  4474	static const u8 skb_ext_type_len[] = {
  4475	#if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
  4476		[SKB_EXT_BRIDGE_NF] = SKB_EXT_CHUNKSIZEOF(struct nf_bridge_info),
  4477	#endif
  4478	#ifdef CONFIG_XFRM
  4479		[SKB_EXT_SEC_PATH] = SKB_EXT_CHUNKSIZEOF(struct sec_path),
  4480	#endif
  4481	#if IS_ENABLED(CONFIG_NET_TC_SKB_EXT)
  4482		[TC_SKB_EXT] = SKB_EXT_CHUNKSIZEOF(struct tc_skb_ext),
  4483	#endif
  4484	#if IS_ENABLED(CONFIG_MPTCP)
  4485		[SKB_EXT_MPTCP] = SKB_EXT_CHUNKSIZEOF(struct mptcp_ext),
  4486	#endif
  4487	#if IS_ENABLED(CONFIG_MCTP_FLOWS)
  4488		[SKB_EXT_MCTP] = SKB_EXT_CHUNKSIZEOF(struct mctp_flow),
  4489	#endif
  4490	#if IS_ENABLED(CONFIG_NET_DSA_TAG_OOB)
> 4491		[SKB_EXT_DSA_OOB] = SKB_EXT_CHUNKSIZEOF(struct dsa_oob_tag_info),
  4492	#endif
  4493	};
  4494	

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