From: kbuild test robot <lkp@intel.com>
To: idosch@idosch.org
Cc: kbuild-all@01.org, netdev@vger.kernel.org, davem@davemloft.net,
jiri@mellanox.com, mlxsw@mellanox.com, roopa@cumulusnetworks.com,
nikolay@cumulusnetworks.com, dsa@cumulusnetworks.com,
andy@greyhouse.net, alexander.h.duyck@intel.com,
vivien.didelot@savoirfairelinux.com, f.fainelli@gmail.com,
andrew@lunn.ch, kuznet@ms2.inr.ac.ru, jmorris@namei.org,
yoshfuji@linux-ipv6.org, kaber@trash.net,
Ido Schimmel <idosch@mellanox.com>
Subject: Re: [PATCH net-next] ipv4: fib: Replay events when registering FIB notifier
Date: Mon, 31 Oct 2016 19:32:56 +0800 [thread overview]
Message-ID: <201610311912.5t2SmQnY%fengguang.wu@intel.com> (raw)
In-Reply-To: <1477902578-20137-1-git-send-email-idosch@idosch.org>
[-- Attachment #1: Type: text/plain, Size: 6723 bytes --]
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@us.ibm.com>
48 * Patrick McHardy <kaber@trash.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
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27187 bytes --]
next prev parent reply other threads:[~2016-10-31 11:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-31 8:29 [PATCH net-next] ipv4: fib: Replay events when registering FIB notifier idosch
2016-10-31 11:32 ` kbuild test robot [this message]
2016-10-31 16:54 ` kbuild test robot
2016-10-31 9:03 ` Ido Schimmel
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=201610311912.5t2SmQnY%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=alexander.h.duyck@intel.com \
--cc=andrew@lunn.ch \
--cc=andy@greyhouse.net \
--cc=davem@davemloft.net \
--cc=dsa@cumulusnetworks.com \
--cc=f.fainelli@gmail.com \
--cc=idosch@idosch.org \
--cc=idosch@mellanox.com \
--cc=jiri@mellanox.com \
--cc=jmorris@namei.org \
--cc=kaber@trash.net \
--cc=kbuild-all@01.org \
--cc=kuznet@ms2.inr.ac.ru \
--cc=mlxsw@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=nikolay@cumulusnetworks.com \
--cc=roopa@cumulusnetworks.com \
--cc=vivien.didelot@savoirfairelinux.com \
--cc=yoshfuji@linux-ipv6.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