Re: [PATCH net-next 1/8] net: ipv4: refactor __ip_route_output_key_hash
From: kbuild test robot <hidden>
Date: 2017-05-25 01:31:30
Hi David, [auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Roopa-Prabhu/net-extend-RTM_GETROUTE-to-return-fib-result/20170525-053253 config: cris-etrax-100lx_v2_defconfig (attached as .config) compiler: cris-linux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=cris Note: the linux-review/Roopa-Prabhu/net-extend-RTM_GETROUTE-to-return-fib-result/20170525-053253 HEAD 083c4ee9e124d0acf29d159ced8a22cb41665a7a builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>): In file included from include/net/route.h:31:0, from include/net/lwtunnel.h:8, from include/net/ip_tunnels.h:17, from include/net/dst_metadata.h:5, from net/ipv4/route.c:94: net/ipv4/route.c: In function 'ip_route_output_key_hash_rcu':
quoted
include/net/ip_fib.h:167:32: error: 'res' is a pointer; did you mean to use '->'?
#define FIB_RES_NH(res) ((res).fi->fib_nh[0])
^
->quoted
include/net/ip_fib.h:196:28: note: in expansion of macro 'FIB_RES_NH'
#define FIB_RES_DEV(res) (FIB_RES_NH(res).nh_dev)
^~~~~~~~~~quoted
net/ipv4/route.c:2399:35: note: in expansion of macro 'FIB_RES_DEV'
dev_out = l3mdev_master_dev_rcu(FIB_RES_DEV(res)) ? :
^~~~~~~~~~~
net/ipv4/route.c: In function 'ip_route_output_key_hash':quoted
net/ipv4/route.c:2430:53: error: 'mp_hash' undeclared (first use in this function)
rth = ip_route_output_key_hash_rcu(net, fl4, &res, mp_hash);
^~~~~~~
net/ipv4/route.c:2430:53: note: each undeclared identifier is reported only once for each function it appears inquoted
net/ipv4/route.c:2430:47: error: passing argument 3 of 'ip_route_output_key_hash_rcu' from incompatible pointer type [-Werror=incompatible-pointer-types]
rth = ip_route_output_key_hash_rcu(net, fl4, &res, mp_hash);
^
net/ipv4/route.c:2249:16: note: expected 'const struct sk_buff *' but argument is of type 'struct fib_result *'
struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/net/route.h:31:0,
from include/net/lwtunnel.h:8,
from include/net/ip_tunnels.h:17,
from include/net/dst_metadata.h:5,
from net//ipv4/route.c:94:
net//ipv4/route.c: In function 'ip_route_output_key_hash_rcu':quoted
include/net/ip_fib.h:167:32: error: 'res' is a pointer; did you mean to use '->'?
#define FIB_RES_NH(res) ((res).fi->fib_nh[0])
^
->quoted
include/net/ip_fib.h:196:28: note: in expansion of macro 'FIB_RES_NH'
#define FIB_RES_DEV(res) (FIB_RES_NH(res).nh_dev)
^~~~~~~~~~
net//ipv4/route.c:2399:35: note: in expansion of macro 'FIB_RES_DEV'
dev_out = l3mdev_master_dev_rcu(FIB_RES_DEV(res)) ? :
^~~~~~~~~~~
net//ipv4/route.c: In function 'ip_route_output_key_hash':
net//ipv4/route.c:2430:53: error: 'mp_hash' undeclared (first use in this function)
rth = ip_route_output_key_hash_rcu(net, fl4, &res, mp_hash);
^~~~~~~
net//ipv4/route.c:2430:53: note: each undeclared identifier is reported only once for each function it appears in
net//ipv4/route.c:2430:47: error: passing argument 3 of 'ip_route_output_key_hash_rcu' from incompatible pointer type [-Werror=incompatible-pointer-types]
rth = ip_route_output_key_hash_rcu(net, fl4, &res, mp_hash);
^
net//ipv4/route.c:2249:16: note: expected 'const struct sk_buff *' but argument is of type 'struct fib_result *'
struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/mp_hash +2430 net/ipv4/route.c
2393 fl4->saddr = res->fi->fib_prefsrc;
2394 else
2395 fl4->saddr = fl4->daddr;
2396 }
2397
2398 /* L3 master device is the loopback for that domain */2399 dev_out = l3mdev_master_dev_rcu(FIB_RES_DEV(res)) ? :
2400 net->loopback_dev;
2401 fl4->flowi4_oif = dev_out->ifindex;
2402 flags |= RTCF_LOCAL;
2403 goto make_route;
2404 }
2405
2406 fib_select_path(net, res, fl4, skb);
2407
2408 dev_out = FIB_RES_DEV(*res);
2409 fl4->flowi4_oif = dev_out->ifindex;
2410
2411
2412 make_route:
2413 rth = __mkroute_output(res, fl4, orig_oif, dev_out, flags);
2414
2415 out:
2416 return rth;
2417 }
2418
2419 struct rtable *ip_route_output_key_hash(struct net *net, struct flowi4 *fl4,
2420 const struct sk_buff *skb)
2421 {
2422 struct fib_result res;
2423 struct rtable *rth;
2424
2425 res.tclassid = 0;
2426 res.fi = NULL;
2427 res.table = NULL;
2428
2429 rcu_read_lock();2430 rth = ip_route_output_key_hash_rcu(net, fl4, &res, mp_hash);
2431 rcu_read_unlock(); 2432 2433 return rth; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachments
- .config.gz [application/gzip] 8682 bytes