Re: [PATCH v2 nf-next 1/2] ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux