[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201807140515.ey9Sn7jo%fengguang.wu@intel.com>
Date: Sat, 14 Jul 2018 05:55:31 +0800
From: kbuild test robot <lkp@...el.com>
To: Florian Westphal <fw@...len.de>
Cc: kbuild-all@...org, netfilter-devel@...r.kernel.org,
netdev@...r.kernel.org, Florian Westphal <fw@...len.de>
Subject: Re: [PATCH v2 nf-next 1/2] ipv6: remove dependency of nf_defrag_ipv6
on ipv6 module
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@...il.com>
:::::: CC: David S. Miller <davem@...emloft.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (27651 bytes)
Powered by blists - more mailing lists