[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <202011010816.xqRrTSz5-lkp@intel.com>
Date: Sun, 1 Nov 2020 08:00:18 +0800
From: kernel test robot <lkp@...el.com>
To: Nikolay Aleksandrov <nikolay@...dia.com>
Cc: kbuild-all@...ts.01.org, netdev@...r.kernel.org,
Jakub Kicinski <kuba@...nel.org>,
Vladimir Oltean <vladimir.oltean@....com>
Subject: [net-next:master 38/46] net/bridge/br_device.c:96:7: error: too many
arguments to function 'br_multicast_querier_exists'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
head: 3752404a68e86d82b97a61aba78f6d6afae48549
commit: 955062b03fa62b802a1ee34fbb04e39f7a70ae73 [38/46] net: bridge: mcast: add support for raw L2 multicast groups
config: i386-randconfig-m021-20201101 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=955062b03fa62b802a1ee34fbb04e39f7a70ae73
git remote add net-next https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
git fetch --no-tags net-next master
git checkout 955062b03fa62b802a1ee34fbb04e39f7a70ae73
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
net/bridge/br_device.c: In function 'br_dev_xmit':
>> net/bridge/br_device.c:96:7: error: too many arguments to function 'br_multicast_querier_exists'
96 | br_multicast_querier_exists(br, eth_hdr(skb), mdst))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from net/bridge/br_device.c:19:
net/bridge/br_private.h:1015:20: note: declared here
1015 | static inline bool br_multicast_querier_exists(struct net_bridge *br,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
--
net/bridge/br_input.c: In function 'br_handle_frame_finish':
>> net/bridge/br_input.c:137:7: error: too many arguments to function 'br_multicast_querier_exists'
137 | br_multicast_querier_exists(br, eth_hdr(skb), mdst)) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from net/bridge/br_input.c:23:
net/bridge/br_private.h:1015:20: note: declared here
1015 | static inline bool br_multicast_querier_exists(struct net_bridge *br,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/br_multicast_querier_exists +96 net/bridge/br_device.c
26
27 /* net device transmit always called with BH disabled */
28 netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
29 {
30 struct net_bridge *br = netdev_priv(dev);
31 struct net_bridge_fdb_entry *dst;
32 struct net_bridge_mdb_entry *mdst;
33 struct pcpu_sw_netstats *brstats = this_cpu_ptr(br->stats);
34 const struct nf_br_ops *nf_ops;
35 u8 state = BR_STATE_FORWARDING;
36 const unsigned char *dest;
37 u16 vid = 0;
38
39 memset(skb->cb, 0, sizeof(struct br_input_skb_cb));
40
41 rcu_read_lock();
42 nf_ops = rcu_dereference(nf_br_ops);
43 if (nf_ops && nf_ops->br_dev_xmit_hook(skb)) {
44 rcu_read_unlock();
45 return NETDEV_TX_OK;
46 }
47
48 u64_stats_update_begin(&brstats->syncp);
49 brstats->tx_packets++;
50 brstats->tx_bytes += skb->len;
51 u64_stats_update_end(&brstats->syncp);
52
53 br_switchdev_frame_unmark(skb);
54 BR_INPUT_SKB_CB(skb)->brdev = dev;
55 BR_INPUT_SKB_CB(skb)->frag_max_size = 0;
56
57 skb_reset_mac_header(skb);
58 skb_pull(skb, ETH_HLEN);
59
60 if (!br_allowed_ingress(br, br_vlan_group_rcu(br), skb, &vid, &state))
61 goto out;
62
63 if (IS_ENABLED(CONFIG_INET) &&
64 (eth_hdr(skb)->h_proto == htons(ETH_P_ARP) ||
65 eth_hdr(skb)->h_proto == htons(ETH_P_RARP)) &&
66 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED)) {
67 br_do_proxy_suppress_arp(skb, br, vid, NULL);
68 } else if (IS_ENABLED(CONFIG_IPV6) &&
69 skb->protocol == htons(ETH_P_IPV6) &&
70 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) &&
71 pskb_may_pull(skb, sizeof(struct ipv6hdr) +
72 sizeof(struct nd_msg)) &&
73 ipv6_hdr(skb)->nexthdr == IPPROTO_ICMPV6) {
74 struct nd_msg *msg, _msg;
75
76 msg = br_is_nd_neigh_msg(skb, &_msg);
77 if (msg)
78 br_do_suppress_nd(skb, br, vid, NULL, msg);
79 }
80
81 dest = eth_hdr(skb)->h_dest;
82 if (is_broadcast_ether_addr(dest)) {
83 br_flood(br, skb, BR_PKT_BROADCAST, false, true);
84 } else if (is_multicast_ether_addr(dest)) {
85 if (unlikely(netpoll_tx_running(dev))) {
86 br_flood(br, skb, BR_PKT_MULTICAST, false, true);
87 goto out;
88 }
89 if (br_multicast_rcv(br, NULL, skb, vid)) {
90 kfree_skb(skb);
91 goto out;
92 }
93
94 mdst = br_mdb_get(br, skb, vid);
95 if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) &&
> 96 br_multicast_querier_exists(br, eth_hdr(skb), mdst))
97 br_multicast_flood(mdst, skb, false, true);
98 else
99 br_flood(br, skb, BR_PKT_MULTICAST, false, true);
100 } else if ((dst = br_fdb_find_rcu(br, dest, vid)) != NULL) {
101 br_forward(dst->dst, skb, false, true);
102 } else {
103 br_flood(br, skb, BR_PKT_UNICAST, false, true);
104 }
105 out:
106 rcu_read_unlock();
107 return NETDEV_TX_OK;
108 }
109
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (32963 bytes)
Powered by blists - more mailing lists