Re: [PATCH net-next v2] bridge: multicast to unicast

From: kbuild test robot
Date: Wed Jan 18 2017 - 01:01:18 EST


Hi Felix,

[auto build test WARNING on net-next/master]

url: https://github.com/0day-ci/linux/commits/Linus-L-ssing/bridge-multicast-to-unicast/20170118-120345
config: x86_64-rhel-7.2 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

net/bridge/br_forward.c: In function 'br_multicast_flood':
>> net/bridge/br_forward.c:261:27: warning: 'port' may be used uninitialized in this function [-Wmaybe-uninitialized]
struct net_bridge_port *port, *lport, *rport;
^~~~

vim +/port +261 net/bridge/br_forward.c

5cb5e947 Herbert Xu 2010-02-27 245 #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
5cb5e947 Herbert Xu 2010-02-27 246 /* called with rcu_read_lock */
37b090e6 Nikolay Aleksandrov 2016-07-14 247 void br_multicast_flood(struct net_bridge_mdb_entry *mdst,
b35c5f63 Nikolay Aleksandrov 2016-07-14 248 struct sk_buff *skb,
37b090e6 Nikolay Aleksandrov 2016-07-14 249 bool local_rcv, bool local_orig)
5cb5e947 Herbert Xu 2010-02-27 250 {
5cb5e947 Herbert Xu 2010-02-27 251 struct net_device *dev = BR_INPUT_SKB_CB(skb)->brdev;
1080ab95 Nikolay Aleksandrov 2016-06-28 252 u8 igmp_type = br_multicast_igmp_type(skb);
5cb5e947 Herbert Xu 2010-02-27 253 struct net_bridge *br = netdev_priv(dev);
afe0159d stephen hemminger 2010-04-27 254 struct net_bridge_port *prev = NULL;
5cb5e947 Herbert Xu 2010-02-27 255 struct net_bridge_port_group *p;
5cb5e947 Herbert Xu 2010-02-27 256 struct hlist_node *rp;
5cb5e947 Herbert Xu 2010-02-27 257
e8051688 Eric Dumazet 2010-11-15 258 rp = rcu_dereference(hlist_first_rcu(&br->router_list));
83f6a740 stephen hemminger 2010-04-27 259 p = mdst ? rcu_dereference(mdst->ports) : NULL;
5cb5e947 Herbert Xu 2010-02-27 260 while (p || rp) {
afe0159d stephen hemminger 2010-04-27 @261 struct net_bridge_port *port, *lport, *rport;
afe0159d stephen hemminger 2010-04-27 262
5cb5e947 Herbert Xu 2010-02-27 263 lport = p ? p->port : NULL;
5cb5e947 Herbert Xu 2010-02-27 264 rport = rp ? hlist_entry(rp, struct net_bridge_port, rlist) :
5cb5e947 Herbert Xu 2010-02-27 265 NULL;
5cb5e947 Herbert Xu 2010-02-27 266
507962cd Felix Fietkau 2017-01-17 267 if ((unsigned long)lport > (unsigned long)rport) {
507962cd Felix Fietkau 2017-01-17 268 if (p->flags & MDB_PG_FLAGS_MCAST_TO_UCAST) {
507962cd Felix Fietkau 2017-01-17 269 maybe_deliver_addr(lport, skb, p->eth_addr,

:::::: The code at line 261 was first introduced by commit
:::::: afe0159d935ab731c682e811356914bb2be9470c bridge: multicast_flood cleanup

:::::: TO: stephen hemminger <shemminger@xxxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip