netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Florian Westphal <fw@strlen.de>
Cc: kbuild-all@01.org, netfilter-devel@vger.kernel.org,
	netdev@vger.kernel.org, Florian Westphal <fw@strlen.de>
Subject: Re: [PATCH v2 nf-next 1/2] ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module
Date: Sat, 14 Jul 2018 05:55:31 +0800	[thread overview]
Message-ID: <201807140515.ey9Sn7jo%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180713142754.23349-1-fw@strlen.de>

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

Hi Florian,

I love your patch! Yet something to improve:

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

url:    https://github.com/0day-ci/linux/commits/Florian-Westphal/ipv6-remove-dependency-of-nf_defrag_ipv6-on-ipv6-module/20180714-051523
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master
config: i386-randconfig-x015-201827 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

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

   In file included from include/net/netns/mib.h:5:0,
                    from include/net/net_namespace.h:16,
                    from include/linux/netdevice.h:42,
                    from include/net/sock.h:51,
                    from include/linux/tcp.h:23,
                    from net//openvswitch/conntrack.c:16:
   include/net/ipv6_frag.h: In function 'ip6frag_expire_frag_queue':
   include/net/ipv6.h:213:16: error: 'struct netns_mib' has no member named 'ipv6_statistics'; did you mean 'ip_statistics'?
      _DEVINC(net, ipv6, __, idev, field)
                   ^
   include/net/snmp.h:161:15: note: in definition of macro '__SNMP_ADD_STATS64'
      __typeof__(*mib) *ptr = raw_cpu_ptr(mib);  \
                  ^~~
>> include/net/snmp.h:174:40: note: in expansion of macro 'SNMP_ADD_STATS64'
    #define __SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
                                           ^~~~~~~~~~~~~~~~
   include/net/ipv6.h:171:2: note: in expansion of macro '__SNMP_INC_STATS64'
     mod##SNMP_INC_STATS64((net)->mib.statname##_statistics, (field));\
     ^~~
   include/net/ipv6.h:213:3: note: in expansion of macro '_DEVINC'
      _DEVINC(net, ipv6, __, idev, field)
      ^~~~~~~
   include/net/ipv6_frag.h:80:2: note: in expansion of macro '__IP6_INC_STATS'
     __IP6_INC_STATS(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS);
     ^~~~~~~~~~~~~~~
   In file included from include/asm-generic/percpu.h:7:0,
                    from arch/x86/include/asm/percpu.h:543,
                    from arch/x86/include/asm/preempt.h:6,
                    from include/linux/preempt.h:81,
                    from include/linux/spinlock.h:51,
                    from include/linux/seqlock.h:36,
                    from include/linux/time.h:6,
                    from include/linux/stat.h:19,
                    from include/linux/module.h:10,
                    from net//openvswitch/conntrack.c:14:
   include/net/ipv6.h:213:16: error: 'struct netns_mib' has no member named 'ipv6_statistics'; did you mean 'ip_statistics'?
      _DEVINC(net, ipv6, __, idev, field)
                   ^
   include/linux/percpu-defs.h:221:47: note: in definition of macro '__verify_pcpu_ptr'
     const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
                                                  ^~~
>> include/linux/percpu-defs.h:265:47: note: in expansion of macro 'VERIFY_PERCPU_PTR'
    #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                  ^~~~~~~~~~~~~~~~~
>> include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
>> include/net/snmp.h:161:27: note: in expansion of macro 'raw_cpu_ptr'
      __typeof__(*mib) *ptr = raw_cpu_ptr(mib);  \
                              ^~~~~~~~~~~
>> include/net/snmp.h:170:3: note: in expansion of macro '__SNMP_ADD_STATS64'
      __SNMP_ADD_STATS64(mib, field, addend);   \
      ^~~~~~~~~~~~~~~~~~
>> include/net/snmp.h:174:40: note: in expansion of macro 'SNMP_ADD_STATS64'
    #define __SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
                                           ^~~~~~~~~~~~~~~~
   include/net/ipv6.h:171:2: note: in expansion of macro '__SNMP_INC_STATS64'
     mod##SNMP_INC_STATS64((net)->mib.statname##_statistics, (field));\
     ^~~
   include/net/ipv6.h:213:3: note: in expansion of macro '_DEVINC'
      _DEVINC(net, ipv6, __, idev, field)
      ^~~~~~~
   include/net/ipv6_frag.h:80:2: note: in expansion of macro '__IP6_INC_STATS'
     __IP6_INC_STATS(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS);
     ^~~~~~~~~~~~~~~
   include/net/ipv6.h:213:16: error: 'struct netns_mib' has no member named 'ipv6_statistics'; did you mean 'ip_statistics'?
      _DEVINC(net, ipv6, __, idev, field)
                   ^
   include/linux/percpu-defs.h:262:12: note: in definition of macro 'VERIFY_PERCPU_PTR'
     (typeof(*(__p)) __kernel __force *)(__p);   \
               ^~~
>> include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
>> include/net/snmp.h:161:27: note: in expansion of macro 'raw_cpu_ptr'
      __typeof__(*mib) *ptr = raw_cpu_ptr(mib);  \
                              ^~~~~~~~~~~
>> include/net/snmp.h:170:3: note: in expansion of macro '__SNMP_ADD_STATS64'
      __SNMP_ADD_STATS64(mib, field, addend);   \
      ^~~~~~~~~~~~~~~~~~
>> include/net/snmp.h:174:40: note: in expansion of macro 'SNMP_ADD_STATS64'
    #define __SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
                                           ^~~~~~~~~~~~~~~~
   include/net/ipv6.h:171:2: note: in expansion of macro '__SNMP_INC_STATS64'
     mod##SNMP_INC_STATS64((net)->mib.statname##_statistics, (field));\
     ^~~
   include/net/ipv6.h:213:3: note: in expansion of macro '_DEVINC'
      _DEVINC(net, ipv6, __, idev, field)
      ^~~~~~~
   include/net/ipv6_frag.h:80:2: note: in expansion of macro '__IP6_INC_STATS'
     __IP6_INC_STATS(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS);
     ^~~~~~~~~~~~~~~
   include/net/ipv6.h:213:16: error: 'struct netns_mib' has no member named 'ipv6_statistics'; did you mean 'ip_statistics'?
      _DEVINC(net, ipv6, __, idev, field)
                   ^
   include/linux/percpu-defs.h:262:38: note: in definition of macro 'VERIFY_PERCPU_PTR'
     (typeof(*(__p)) __kernel __force *)(__p);   \
                                         ^~~
>> include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
>> include/net/snmp.h:161:27: note: in expansion of macro 'raw_cpu_ptr'
      __typeof__(*mib) *ptr = raw_cpu_ptr(mib);  \
                              ^~~~~~~~~~~
>> include/net/snmp.h:170:3: note: in expansion of macro '__SNMP_ADD_STATS64'
      __SNMP_ADD_STATS64(mib, field, addend);   \
      ^~~~~~~~~~~~~~~~~~
>> include/net/snmp.h:174:40: note: in expansion of macro 'SNMP_ADD_STATS64'
    #define __SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
                                           ^~~~~~~~~~~~~~~~
   include/net/ipv6.h:171:2: note: in expansion of macro '__SNMP_INC_STATS64'
     mod##SNMP_INC_STATS64((net)->mib.statname##_statistics, (field));\
     ^~~
   include/net/ipv6.h:213:3: note: in expansion of macro '_DEVINC'
      _DEVINC(net, ipv6, __, idev, field)
      ^~~~~~~
   include/net/ipv6_frag.h:80:2: note: in expansion of macro '__IP6_INC_STATS'
     __IP6_INC_STATS(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS);
     ^~~~~~~~~~~~~~~
   In file included from include/net/netns/mib.h:5:0,
                    from include/net/net_namespace.h:16,
                    from include/linux/netdevice.h:42,
                    from include/net/sock.h:51,
                    from include/linux/tcp.h:23,
                    from net//openvswitch/conntrack.c:16:
>> include/net/snmp.h:162:30: error: request for member 'syncp' in something not a structure or union
      u64_stats_update_begin(&ptr->syncp);   \
                                 ^
>> include/net/snmp.h:170:3: note: in expansion of macro '__SNMP_ADD_STATS64'
      __SNMP_ADD_STATS64(mib, field, addend);   \
      ^~~~~~~~~~~~~~~~~~
>> include/net/snmp.h:174:40: note: in expansion of macro 'SNMP_ADD_STATS64'
    #define __SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
                                           ^~~~~~~~~~~~~~~~
   include/net/ipv6.h:171:2: note: in expansion of macro '__SNMP_INC_STATS64'
     mod##SNMP_INC_STATS64((net)->mib.statname##_statistics, (field));\
     ^~~
   include/net/ipv6.h:213:3: note: in expansion of macro '_DEVINC'
      _DEVINC(net, ipv6, __, idev, field)
      ^~~~~~~
   include/net/ipv6_frag.h:80:2: note: in expansion of macro '__IP6_INC_STATS'
     __IP6_INC_STATS(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS);
     ^~~~~~~~~~~~~~~
>> include/net/snmp.h:163:6: error: request for member 'mibs' in something not a structure or union
      ptr->mibs[field] += addend;    \
         ^
>> include/net/snmp.h:170:3: note: in expansion of macro '__SNMP_ADD_STATS64'
      __SNMP_ADD_STATS64(mib, field, addend);   \
      ^~~~~~~~~~~~~~~~~~
>> include/net/snmp.h:174:40: note: in expansion of macro 'SNMP_ADD_STATS64'
    #define __SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
                                           ^~~~~~~~~~~~~~~~
   include/net/ipv6.h:171:2: note: in expansion of macro '__SNMP_INC_STATS64'
     mod##SNMP_INC_STATS64((net)->mib.statname##_statistics, (field));\
     ^~~
   include/net/ipv6.h:213:3: note: in expansion of macro '_DEVINC'
      _DEVINC(net, ipv6, __, idev, field)
      ^~~~~~~
   include/net/ipv6_frag.h:80:2: note: in expansion of macro '__IP6_INC_STATS'
     __IP6_INC_STATS(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS);
     ^~~~~~~~~~~~~~~
   include/net/snmp.h:164:28: error: request for member 'syncp' in something not a structure or union
      u64_stats_update_end(&ptr->syncp);   \
                               ^

vim +/syncp +162 include/net/snmp.h

4ce3c183f Eric Dumazet      2010-06-30  158  
13415e46c Eric Dumazet      2016-04-27  159  #define __SNMP_ADD_STATS64(mib, field, addend) 				\
4ce3c183f Eric Dumazet      2010-06-30  160  	do {								\
903ceff7c Christoph Lameter 2014-08-17 @161  		__typeof__(*mib) *ptr = raw_cpu_ptr(mib);		\
4ce3c183f Eric Dumazet      2010-06-30 @162  		u64_stats_update_begin(&ptr->syncp);			\
4ce3c183f Eric Dumazet      2010-06-30 @163  		ptr->mibs[field] += addend;				\
4ce3c183f Eric Dumazet      2010-06-30  164  		u64_stats_update_end(&ptr->syncp);			\
4ce3c183f Eric Dumazet      2010-06-30  165  	} while (0)
8f0ea0fe3 Eric Dumazet      2011-06-10  166  
6aef70a85 Eric Dumazet      2016-04-27  167  #define SNMP_ADD_STATS64(mib, field, addend) 				\
4ce3c183f Eric Dumazet      2010-06-30  168  	do {								\
ba7863f4d Eric Dumazet      2016-04-28  169  		local_bh_disable();					\
13415e46c Eric Dumazet      2016-04-27 @170  		__SNMP_ADD_STATS64(mib, field, addend);			\
ba7863f4d Eric Dumazet      2016-04-28  171  		local_bh_enable();				\
4ce3c183f Eric Dumazet      2010-06-30  172  	} while (0)
8f0ea0fe3 Eric Dumazet      2011-06-10  173  
13415e46c Eric Dumazet      2016-04-27 @174  #define __SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
4ce3c183f Eric Dumazet      2010-06-30  175  #define SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
13415e46c Eric Dumazet      2016-04-27  176  #define __SNMP_UPD_PO_STATS64(mib, basefield, addend)			\
4ce3c183f Eric Dumazet      2010-06-30  177  	do {								\
698365fa1 WANG Cong         2014-05-05  178  		__typeof__(*mib) *ptr;				\
903ceff7c Christoph Lameter 2014-08-17  179  		ptr = raw_cpu_ptr((mib));				\
4ce3c183f Eric Dumazet      2010-06-30  180  		u64_stats_update_begin(&ptr->syncp);			\
4ce3c183f Eric Dumazet      2010-06-30  181  		ptr->mibs[basefield##PKTS]++;				\
4ce3c183f Eric Dumazet      2010-06-30  182  		ptr->mibs[basefield##OCTETS] += addend;			\
4ce3c183f Eric Dumazet      2010-06-30  183  		u64_stats_update_end(&ptr->syncp);			\
4ce3c183f Eric Dumazet      2010-06-30  184  	} while (0)
8f0ea0fe3 Eric Dumazet      2011-06-10  185  #define SNMP_UPD_PO_STATS64(mib, basefield, addend)			\
8f0ea0fe3 Eric Dumazet      2011-06-10  186  	do {								\
ba7863f4d Eric Dumazet      2016-04-28  187  		local_bh_disable();					\
13415e46c Eric Dumazet      2016-04-27  188  		__SNMP_UPD_PO_STATS64(mib, basefield, addend);		\
ba7863f4d Eric Dumazet      2016-04-28  189  		local_bh_enable();				\
8f0ea0fe3 Eric Dumazet      2011-06-10  190  	} while (0)
4ce3c183f Eric Dumazet      2010-06-30  191  #else
13415e46c Eric Dumazet      2016-04-27  192  #define __SNMP_INC_STATS64(mib, field)		__SNMP_INC_STATS(mib, field)
4ce3c183f Eric Dumazet      2010-06-30  193  #define SNMP_INC_STATS64(mib, field)		SNMP_INC_STATS(mib, field)
4ce3c183f Eric Dumazet      2010-06-30  194  #define SNMP_DEC_STATS64(mib, field)		SNMP_DEC_STATS(mib, field)
13415e46c Eric Dumazet      2016-04-27  195  #define __SNMP_ADD_STATS64(mib, field, addend)	__SNMP_ADD_STATS(mib, field, addend)
4ce3c183f Eric Dumazet      2010-06-30  196  #define SNMP_ADD_STATS64(mib, field, addend)	SNMP_ADD_STATS(mib, field, addend)
4ce3c183f Eric Dumazet      2010-06-30  197  #define SNMP_UPD_PO_STATS64(mib, basefield, addend) SNMP_UPD_PO_STATS(mib, basefield, addend)
13415e46c Eric Dumazet      2016-04-27  198  #define __SNMP_UPD_PO_STATS64(mib, basefield, addend) __SNMP_UPD_PO_STATS(mib, basefield, addend)
4ce3c183f Eric Dumazet      2010-06-30  199  #endif
4ce3c183f Eric Dumazet      2010-06-30  200  

:::::: The code at line 162 was first introduced by commit
:::::: 4ce3c183fcade7f4b30a33dae90cd774c3d9e094 snmp: 64bit ipstats_mib for all arches

:::::: TO: Eric Dumazet <eric.dumazet@gmail.com>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27651 bytes --]

  parent reply	other threads:[~2018-07-13 21:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-13 14:27 [PATCH v2 nf-next 1/2] ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module Florian Westphal
2018-07-13 14:27 ` [PATCH v2 nf-next 2/2] netfilter: fix IPV6=m CONNTRACK=y link failure Florian Westphal
2018-07-17 15:36   ` Pablo Neira Ayuso
2018-07-13 21:55 ` kbuild test robot [this message]
2018-07-13 23:14 ` [PATCH v2 nf-next 1/2] ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module kbuild test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201807140515.ey9Sn7jo%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=fw@strlen.de \
    --cc=kbuild-all@01.org \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).