All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH net-next 2/2] ipv4: use dst hint for ipv4 list receive
Date: Sun, 17 Nov 2019 16:58:28 +0800	[thread overview]
Message-ID: <201911171607.tmvmWe0h%lkp@intel.com> (raw)
In-Reply-To: <5b7407edd15edaf912214ee62ea3d56d4b4e16b1.1573893340.git.pabeni@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 5132 bytes --]

Hi Paolo,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]
[also build test WARNING on v5.4-rc7 next-20191115]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Paolo-Abeni/net-introduce-and-use-route-hint/20191116-172108
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 20021578ba226bda1f0ddf50e4d4a12ea1c6c6c1
config: i386-randconfig-f001-20191117 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from include/linux/export.h:42:0,
                    from include/linux/linkage.h:7,
                    from include/linux/kernel.h:8,
                    from include/linux/list.h:9,
                    from include/linux/module.h:9,
                    from net/ipv4/ip_input.c:111:
   net/ipv4/ip_input.c: In function 'ip_list_rcv_finish':
   net/ipv4/ip_input.c:570:19: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'; did you mean 'fib_has_custom_local_routes'?
       if (!net->ipv4.fib_has_custom_rules &&
                      ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> net/ipv4/ip_input.c:570:4: note: in expansion of macro 'if'
       if (!net->ipv4.fib_has_custom_rules &&
       ^~
   net/ipv4/ip_input.c:570:19: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'; did you mean 'fib_has_custom_local_routes'?
       if (!net->ipv4.fib_has_custom_rules &&
                      ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> net/ipv4/ip_input.c:570:4: note: in expansion of macro 'if'
       if (!net->ipv4.fib_has_custom_rules &&
       ^~
   net/ipv4/ip_input.c:570:19: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'; did you mean 'fib_has_custom_local_routes'?
       if (!net->ipv4.fib_has_custom_rules &&
                      ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> net/ipv4/ip_input.c:570:4: note: in expansion of macro 'if'
       if (!net->ipv4.fib_has_custom_rules &&
       ^~

vim +/if +570 net/ipv4/ip_input.c

   542	
   543	static void ip_list_rcv_finish(struct net *net, struct sock *sk,
   544				       struct list_head *head)
   545	{
   546		struct ip_route_input_hint _hint, *hint = NULL;
   547		struct dst_entry *curr_dst = NULL;
   548		struct sk_buff *skb, *next;
   549		struct list_head sublist;
   550	
   551		INIT_LIST_HEAD(&sublist);
   552		list_for_each_entry_safe(skb, next, head, list) {
   553			struct net_device *dev = skb->dev;
   554			struct dst_entry *dst;
   555	
   556			skb_list_del_init(skb);
   557			/* if ingress device is enslaved to an L3 master device pass the
   558			 * skb to its handler for processing
   559			 */
   560			skb = l3mdev_ip_rcv(skb);
   561			if (!skb)
   562				continue;
   563			if (ip_rcv_finish_core(net, sk, skb, dev, hint) == NET_RX_DROP)
   564				continue;
   565	
   566			dst = skb_dst(skb);
   567			if (curr_dst != dst) {
   568				struct rtable *rt = (struct rtable *)dst;
   569	
 > 570				if (!net->ipv4.fib_has_custom_rules &&
   571				    rt->rt_type != RTN_BROADCAST) {
   572					_hint.refdst = skb->_skb_refdst;
   573					_hint.daddr = ip_hdr(skb)->daddr;
   574					_hint.tos = ip_hdr(skb)->tos;
   575					_hint.local = rt->rt_type == RTN_LOCAL;
   576					hint = &_hint;
   577				} else {
   578					hint = NULL;
   579				}
   580	
   581				/* dispatch old sublist */
   582				if (!list_empty(&sublist))
   583					ip_sublist_rcv_finish(&sublist);
   584				/* start new sublist */
   585				INIT_LIST_HEAD(&sublist);
   586				curr_dst = dst;
   587			}
   588			list_add_tail(&skb->list, &sublist);
   589		}
   590		/* dispatch final sublist */
   591		ip_sublist_rcv_finish(&sublist);
   592	}
   593	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31013 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Paolo Abeni <pabeni@redhat.com>
Cc: kbuild-all@lists.01.org, netdev@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	Edward Cree <ecree@solarflare.com>
Subject: Re: [PATCH net-next 2/2] ipv4: use dst hint for ipv4 list receive
Date: Sun, 17 Nov 2019 16:58:28 +0800	[thread overview]
Message-ID: <201911171607.tmvmWe0h%lkp@intel.com> (raw)
In-Reply-To: <5b7407edd15edaf912214ee62ea3d56d4b4e16b1.1573893340.git.pabeni@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 5011 bytes --]

Hi Paolo,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]
[also build test WARNING on v5.4-rc7 next-20191115]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Paolo-Abeni/net-introduce-and-use-route-hint/20191116-172108
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 20021578ba226bda1f0ddf50e4d4a12ea1c6c6c1
config: i386-randconfig-f001-20191117 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from include/linux/export.h:42:0,
                    from include/linux/linkage.h:7,
                    from include/linux/kernel.h:8,
                    from include/linux/list.h:9,
                    from include/linux/module.h:9,
                    from net/ipv4/ip_input.c:111:
   net/ipv4/ip_input.c: In function 'ip_list_rcv_finish':
   net/ipv4/ip_input.c:570:19: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'; did you mean 'fib_has_custom_local_routes'?
       if (!net->ipv4.fib_has_custom_rules &&
                      ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> net/ipv4/ip_input.c:570:4: note: in expansion of macro 'if'
       if (!net->ipv4.fib_has_custom_rules &&
       ^~
   net/ipv4/ip_input.c:570:19: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'; did you mean 'fib_has_custom_local_routes'?
       if (!net->ipv4.fib_has_custom_rules &&
                      ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> net/ipv4/ip_input.c:570:4: note: in expansion of macro 'if'
       if (!net->ipv4.fib_has_custom_rules &&
       ^~
   net/ipv4/ip_input.c:570:19: error: 'struct netns_ipv4' has no member named 'fib_has_custom_rules'; did you mean 'fib_has_custom_local_routes'?
       if (!net->ipv4.fib_has_custom_rules &&
                      ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> net/ipv4/ip_input.c:570:4: note: in expansion of macro 'if'
       if (!net->ipv4.fib_has_custom_rules &&
       ^~

vim +/if +570 net/ipv4/ip_input.c

   542	
   543	static void ip_list_rcv_finish(struct net *net, struct sock *sk,
   544				       struct list_head *head)
   545	{
   546		struct ip_route_input_hint _hint, *hint = NULL;
   547		struct dst_entry *curr_dst = NULL;
   548		struct sk_buff *skb, *next;
   549		struct list_head sublist;
   550	
   551		INIT_LIST_HEAD(&sublist);
   552		list_for_each_entry_safe(skb, next, head, list) {
   553			struct net_device *dev = skb->dev;
   554			struct dst_entry *dst;
   555	
   556			skb_list_del_init(skb);
   557			/* if ingress device is enslaved to an L3 master device pass the
   558			 * skb to its handler for processing
   559			 */
   560			skb = l3mdev_ip_rcv(skb);
   561			if (!skb)
   562				continue;
   563			if (ip_rcv_finish_core(net, sk, skb, dev, hint) == NET_RX_DROP)
   564				continue;
   565	
   566			dst = skb_dst(skb);
   567			if (curr_dst != dst) {
   568				struct rtable *rt = (struct rtable *)dst;
   569	
 > 570				if (!net->ipv4.fib_has_custom_rules &&
   571				    rt->rt_type != RTN_BROADCAST) {
   572					_hint.refdst = skb->_skb_refdst;
   573					_hint.daddr = ip_hdr(skb)->daddr;
   574					_hint.tos = ip_hdr(skb)->tos;
   575					_hint.local = rt->rt_type == RTN_LOCAL;
   576					hint = &_hint;
   577				} else {
   578					hint = NULL;
   579				}
   580	
   581				/* dispatch old sublist */
   582				if (!list_empty(&sublist))
   583					ip_sublist_rcv_finish(&sublist);
   584				/* start new sublist */
   585				INIT_LIST_HEAD(&sublist);
   586				curr_dst = dst;
   587			}
   588			list_add_tail(&skb->list, &sublist);
   589		}
   590		/* dispatch final sublist */
   591		ip_sublist_rcv_finish(&sublist);
   592	}
   593	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 31013 bytes --]

  parent reply	other threads:[~2019-11-17  8:58 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-16  9:14 [PATCH net-next 0/2] net: introduce and use route hint Paolo Abeni
2019-11-16  9:14 ` [PATCH net-next 1/2] ipv6: introduce and uses route look hints for list input Paolo Abeni
2019-11-16 11:04   ` kbuild test robot
2019-11-16 11:04     ` kbuild test robot
2019-11-17 11:46   ` kbuild test robot
2019-11-17 11:46     ` kbuild test robot
2019-11-16  9:14 ` [PATCH net-next 2/2] ipv4: use dst hint for ipv4 list receive Paolo Abeni
2019-11-16 10:56   ` kbuild test robot
2019-11-16 10:56     ` kbuild test robot
2019-11-17  8:58   ` kbuild test robot [this message]
2019-11-17  8:58     ` kbuild test robot
2019-11-18 16:15   ` Edward Cree
2019-11-18 16:44     ` Paolo Abeni
2019-11-18 17:14       ` Paolo Abeni
2019-11-16 20:09 ` [PATCH net-next 0/2] net: introduce and use route hint David Miller
2019-11-18  8:12   ` Paolo Abeni

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=201911171607.tmvmWe0h%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.