[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201610311912.5t2SmQnY%fengguang.wu@intel.com>
Date: Mon, 31 Oct 2016 19:32:56 +0800
From: kbuild test robot <lkp@...el.com>
To: idosch@...sch.org
Cc: kbuild-all@...org, netdev@...r.kernel.org, davem@...emloft.net,
jiri@...lanox.com, mlxsw@...lanox.com, roopa@...ulusnetworks.com,
nikolay@...ulusnetworks.com, dsa@...ulusnetworks.com,
andy@...yhouse.net, alexander.h.duyck@...el.com,
vivien.didelot@...oirfairelinux.com, f.fainelli@...il.com,
andrew@...n.ch, kuznet@....inr.ac.ru, jmorris@...ei.org,
yoshfuji@...ux-ipv6.org, kaber@...sh.net,
Ido Schimmel <idosch@...lanox.com>
Subject: Re: [PATCH net-next] ipv4: fib: Replay events when registering FIB
notifier
Hi Ido,
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/idosch-idosch-org/ipv4-fib-Replay-events-when-registering-FIB-notifier/20161031-163334
config: x86_64-randconfig-s4-10311807 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
In file included from arch/x86/include/asm/uaccess.h:7:0,
from net/ipv4/fib_trie.c:53:
net/ipv4/fib_trie.c: In function 'register_fib_notifier':
net/ipv4/fib_trie.c:141:16: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'
if (net->ipv4.fib_has_custom_rules)
^
include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> net/ipv4/fib_trie.c:141:3: note: in expansion of macro 'if'
if (net->ipv4.fib_has_custom_rules)
^~
net/ipv4/fib_trie.c:141:16: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'
if (net->ipv4.fib_has_custom_rules)
^
include/linux/compiler.h:149:42: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> net/ipv4/fib_trie.c:141:3: note: in expansion of macro 'if'
if (net->ipv4.fib_has_custom_rules)
^~
net/ipv4/fib_trie.c:141:16: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'
if (net->ipv4.fib_has_custom_rules)
^
include/linux/compiler.h:160:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^~~~
>> net/ipv4/fib_trie.c:141:3: note: in expansion of macro 'if'
if (net->ipv4.fib_has_custom_rules)
^~
net/ipv4/fib_trie.c: In function 'unregister_fib_notifier':
net/ipv4/fib_trie.c:178:16: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'
if (net->ipv4.fib_has_custom_rules)
^
include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
net/ipv4/fib_trie.c:178:3: note: in expansion of macro 'if'
if (net->ipv4.fib_has_custom_rules)
^~
net/ipv4/fib_trie.c:178:16: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'
if (net->ipv4.fib_has_custom_rules)
^
include/linux/compiler.h:149:42: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
net/ipv4/fib_trie.c:178:3: note: in expansion of macro 'if'
if (net->ipv4.fib_has_custom_rules)
^~
net/ipv4/fib_trie.c:178:16: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'
if (net->ipv4.fib_has_custom_rules)
^
include/linux/compiler.h:160:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^~~~
net/ipv4/fib_trie.c:178:3: note: in expansion of macro 'if'
if (net->ipv4.fib_has_custom_rules)
^~
vim +/if +141 net/ipv4/fib_trie.c
47 * Paul E. McKenney <paulmck@...ibm.com>
48 * Patrick McHardy <kaber@...sh.net>
49 */
50
51 #define VERSION "0.409"
52
> 53 #include <asm/uaccess.h>
54 #include <linux/bitops.h>
55 #include <linux/types.h>
56 #include <linux/kernel.h>
57 #include <linux/mm.h>
58 #include <linux/string.h>
59 #include <linux/socket.h>
60 #include <linux/sockios.h>
61 #include <linux/errno.h>
62 #include <linux/in.h>
63 #include <linux/inet.h>
64 #include <linux/inetdevice.h>
65 #include <linux/netdevice.h>
66 #include <linux/if_arp.h>
67 #include <linux/proc_fs.h>
68 #include <linux/rcupdate.h>
69 #include <linux/skbuff.h>
70 #include <linux/netlink.h>
71 #include <linux/init.h>
72 #include <linux/list.h>
73 #include <linux/slab.h>
74 #include <linux/export.h>
75 #include <linux/vmalloc.h>
76 #include <linux/notifier.h>
77 #include <net/net_namespace.h>
78 #include <net/ip.h>
79 #include <net/protocol.h>
80 #include <net/route.h>
81 #include <net/tcp.h>
82 #include <net/sock.h>
83 #include <net/ip_fib.h>
84 #include <trace/events/fib.h>
85 #include "fib_lookup.h"
86
87 static BLOCKING_NOTIFIER_HEAD(fib_chain);
88
89 static void fib_notify(struct net *net, struct notifier_block *nb,
90 enum fib_event_type event_type);
91
92 static int call_fib_notifier(struct notifier_block *nb, struct net *net,
93 enum fib_event_type event_type,
94 struct fib_notifier_info *info)
95 {
96 info->net = net;
97 return nb->notifier_call(nb, event_type, info);
98 }
99
100 static int call_fib_entry_notifier(struct notifier_block *nb, struct net *net,
101 enum fib_event_type event_type, u32 dst,
102 int dst_len, struct fib_info *fi,
103 u8 tos, u8 type, u32 tb_id, u32 nlflags)
104 {
105 struct fib_entry_notifier_info info = {
106 .dst = dst,
107 .dst_len = dst_len,
108 .fi = fi,
109 .tos = tos,
110 .type = type,
111 .tb_id = tb_id,
112 .nlflags = nlflags,
113 };
114 return call_fib_notifier(nb, net, event_type, &info.info);
115 }
116
117 /**
118 * register_fib_notifier - register a fib notifier block
119 * @nb: notifier
120 *
121 * Register a notifier to be called when FIB entries or rules are
122 * added or removed. A negative errno code is returned on failure.
123 *
124 * When registered, all FIB addition events are replayed to the new
125 * notifier to allow the caller to have a complete view of the FIB
126 * tables.
127 */
128
129 int register_fib_notifier(struct notifier_block *nb)
130 {
131 struct net *net;
132 int err;
133
134 rtnl_lock();
135 err = blocking_notifier_chain_register(&fib_chain, nb);
136 if (err)
137 goto unlock;
138 for_each_net(net) {
139 struct fib_notifier_info info;
140
> 141 if (net->ipv4.fib_has_custom_rules)
142 call_fib_notifier(nb, net, FIB_EVENT_RULE_ADD, &info);
143 fib_notify(net, nb, FIB_EVENT_ENTRY_ADD);
144 }
---
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" (27187 bytes)
Powered by blists - more mailing lists