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 <paul...@us.ibm.com> 48 * Patrick McHardy <ka...@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
.config.gz
Description: application/gzip