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 <l...@intel.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-...@lists.01.org
.config.gz
Description: application/gzip