lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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