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  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ