All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org,
	Nikolay Aleksandrov <nikolay@cumulusnetworks.com>,
	netdev@vger.kernel.org
Cc: kbuild-all@lists.01.org, lkp@intel.com,
	Nikolay Aleksandrov <nikolay@cumulusnetworks.com>,
	bridge@lists.linux-foundation.org, roopa@nvidia.com,
	davem@davemloft.net, Dan Carpenter <error27@gmail.com>
Subject: Re: [Bridge] [PATCH net-next v2 04/15] net: bridge: mcast: add support for group-and-source specific queries
Date: Thu, 3 Sep 2020 15:18:33 +0300	[thread overview]
Message-ID: <20200903121832.GD8299@kadam> (raw)
In-Reply-To: <20200902112529.1570040-5-nikolay@cumulusnetworks.com>

[-- Attachment #1: Type: text/plain, Size: 12283 bytes --]

Hi Nikolay,

url:    https://github.com/0day-ci/linux/commits/Nikolay-Aleksandrov/net-bridge-mcast-initial-IGMPv3-support-part-1/20200902-193339
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git dc1a9bf2c8169d9f607502162af1858a73a18cb8
config: i386-randconfig-m021-20200902 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
net/bridge/br_multicast.c:359 br_ip4_multicast_alloc_query() error: use kfree_skb() here instead of kfree(skb)

Old smatch warnings:
net/bridge/br_multicast.c:711 br_multicast_add_group() error: potential null dereference 'mp'.  (br_multicast_new_group returns null)

# https://github.com/0day-ci/linux/commit/6ed1da60b015f4e607ee2dcaaf557306a1bd3b57
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nikolay-Aleksandrov/net-bridge-mcast-initial-IGMPv3-support-part-1/20200902-193339
git checkout 6ed1da60b015f4e607ee2dcaaf557306a1bd3b57
vim +359 net/bridge/br_multicast.c

8ef2a9a5985499 YOSHIFUJI Hideaki   2010-04-18  230  static struct sk_buff *br_ip4_multicast_alloc_query(struct net_bridge *br,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  231  						    struct net_bridge_port_group *pg,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  232  						    __be32 ip_dst, __be32 group,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  233  						    bool with_srcs, bool over_lmqt,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  234  						    u8 sflag, u8 *igmp_type)
eb1d16414339a6 Herbert Xu          2010-02-27  235  {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  236  	struct net_bridge_port *p = pg ? pg->port : NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  237  	struct net_bridge_group_src *ent;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  238  	size_t pkt_size, igmp_hdr_size;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  239  	unsigned long now = jiffies;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  240  	struct igmpv3_query *ihv3;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  241  	void *csum_start = NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  242  	__sum16 *csum = NULL;
eb1d16414339a6 Herbert Xu          2010-02-27  243  	struct sk_buff *skb;
eb1d16414339a6 Herbert Xu          2010-02-27  244  	struct igmphdr *ih;
eb1d16414339a6 Herbert Xu          2010-02-27  245  	struct ethhdr *eth;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  246  	unsigned long lmqt;
eb1d16414339a6 Herbert Xu          2010-02-27  247  	struct iphdr *iph;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  248  	u16 lmqt_srcs = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  249  
5e9235853d652a Nikolay Aleksandrov 2016-11-21  250  	igmp_hdr_size = sizeof(*ih);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  251  	if (br->multicast_igmp_version == 3) {
5e9235853d652a Nikolay Aleksandrov 2016-11-21  252  		igmp_hdr_size = sizeof(*ihv3);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  253  		if (pg && with_srcs) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  254  			lmqt = now + (br->multicast_last_member_interval *
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  255  				      br->multicast_last_member_count);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  256  			hlist_for_each_entry(ent, &pg->src_list, node) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  257  				if (over_lmqt == time_after(ent->timer.expires,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  258  							    lmqt) &&
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  259  				    ent->src_query_rexmit_cnt > 0)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  260  					lmqt_srcs++;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  261  			}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  262  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  263  			if (!lmqt_srcs)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  264  				return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  265  			igmp_hdr_size += lmqt_srcs * sizeof(__be32);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  266  		}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  267  	}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  268  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  269  	pkt_size = sizeof(*eth) + sizeof(*iph) + 4 + igmp_hdr_size;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  270  	if ((p && pkt_size > p->dev->mtu) ||
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  271  	    pkt_size > br->dev->mtu)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  272  		return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  273  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  274  	skb = netdev_alloc_skb_ip_align(br->dev, pkt_size);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

eb1d16414339a6 Herbert Xu          2010-02-27  275  	if (!skb)
eb1d16414339a6 Herbert Xu          2010-02-27  276  		goto out;
eb1d16414339a6 Herbert Xu          2010-02-27  277  
eb1d16414339a6 Herbert Xu          2010-02-27  278  	skb->protocol = htons(ETH_P_IP);
eb1d16414339a6 Herbert Xu          2010-02-27  279  
eb1d16414339a6 Herbert Xu          2010-02-27  280  	skb_reset_mac_header(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  281  	eth = eth_hdr(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  282  
e5a727f6632654 Joe Perches         2014-02-23  283  	ether_addr_copy(eth->h_source, br->dev->dev_addr);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  284  	ip_eth_mc_map(ip_dst, eth->h_dest);
eb1d16414339a6 Herbert Xu          2010-02-27  285  	eth->h_proto = htons(ETH_P_IP);
eb1d16414339a6 Herbert Xu          2010-02-27  286  	skb_put(skb, sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  287  
eb1d16414339a6 Herbert Xu          2010-02-27  288  	skb_set_network_header(skb, skb->len);
eb1d16414339a6 Herbert Xu          2010-02-27  289  	iph = ip_hdr(skb);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  290  	iph->tot_len = htons(pkt_size - sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  291  
eb1d16414339a6 Herbert Xu          2010-02-27  292  	iph->version = 4;
eb1d16414339a6 Herbert Xu          2010-02-27  293  	iph->ihl = 6;
eb1d16414339a6 Herbert Xu          2010-02-27  294  	iph->tos = 0xc0;
eb1d16414339a6 Herbert Xu          2010-02-27  295  	iph->id = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  296  	iph->frag_off = htons(IP_DF);
eb1d16414339a6 Herbert Xu          2010-02-27  297  	iph->ttl = 1;
eb1d16414339a6 Herbert Xu          2010-02-27  298  	iph->protocol = IPPROTO_IGMP;
675779adbf7c80 Nikolay Aleksandrov 2018-09-26  299  	iph->saddr = br_opt_get(br, BROPT_MULTICAST_QUERY_USE_IFADDR) ?
1c8ad5bfa2be50 Cong Wang           2013-05-21  300  		     inet_select_addr(br->dev, 0, RT_SCOPE_LINK) : 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  301  	iph->daddr = ip_dst;
eb1d16414339a6 Herbert Xu          2010-02-27  302  	((u8 *)&iph[1])[0] = IPOPT_RA;
eb1d16414339a6 Herbert Xu          2010-02-27  303  	((u8 *)&iph[1])[1] = 4;
eb1d16414339a6 Herbert Xu          2010-02-27  304  	((u8 *)&iph[1])[2] = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  305  	((u8 *)&iph[1])[3] = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  306  	ip_send_check(iph);
eb1d16414339a6 Herbert Xu          2010-02-27  307  	skb_put(skb, 24);
eb1d16414339a6 Herbert Xu          2010-02-27  308  
eb1d16414339a6 Herbert Xu          2010-02-27  309  	skb_set_transport_header(skb, skb->len);
1080ab95e3c7bd Nikolay Aleksandrov 2016-06-28  310  	*igmp_type = IGMP_HOST_MEMBERSHIP_QUERY;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  311  
5e9235853d652a Nikolay Aleksandrov 2016-11-21  312  	switch (br->multicast_igmp_version) {
5e9235853d652a Nikolay Aleksandrov 2016-11-21  313  	case 2:
5e9235853d652a Nikolay Aleksandrov 2016-11-21  314  		ih = igmp_hdr(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  315  		ih->type = IGMP_HOST_MEMBERSHIP_QUERY;
eb1d16414339a6 Herbert Xu          2010-02-27  316  		ih->code = (group ? br->multicast_last_member_interval :
eb1d16414339a6 Herbert Xu          2010-02-27  317  				    br->multicast_query_response_interval) /
eb1d16414339a6 Herbert Xu          2010-02-27  318  			   (HZ / IGMP_TIMER_SCALE);
eb1d16414339a6 Herbert Xu          2010-02-27  319  		ih->group = group;
eb1d16414339a6 Herbert Xu          2010-02-27  320  		ih->csum = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  321  		csum = &ih->csum;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  322  		csum_start = (void *)ih;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  323  		break;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  324  	case 3:
5e9235853d652a Nikolay Aleksandrov 2016-11-21  325  		ihv3 = igmpv3_query_hdr(skb);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  326  		ihv3->type = IGMP_HOST_MEMBERSHIP_QUERY;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  327  		ihv3->code = (group ? br->multicast_last_member_interval :
5e9235853d652a Nikolay Aleksandrov 2016-11-21  328  				      br->multicast_query_response_interval) /
5e9235853d652a Nikolay Aleksandrov 2016-11-21  329  			     (HZ / IGMP_TIMER_SCALE);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  330  		ihv3->group = group;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  331  		ihv3->qqic = br->multicast_query_interval / HZ;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  332  		ihv3->nsrcs = htons(lmqt_srcs);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  333  		ihv3->resv = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  334  		ihv3->suppress = sflag;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  335  		ihv3->qrv = 2;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  336  		ihv3->csum = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  337  		csum = &ihv3->csum;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  338  		csum_start = (void *)ihv3;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  339  		if (!pg || !with_srcs)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  340  			break;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  341  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  342  		lmqt_srcs = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  343  		hlist_for_each_entry(ent, &pg->src_list, node) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  344  			if (over_lmqt == time_after(ent->timer.expires,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  345  						    lmqt) &&
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  346  			    ent->src_query_rexmit_cnt > 0) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  347  				ihv3->srcs[lmqt_srcs++] = ent->addr.u.ip4;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  348  				ent->src_query_rexmit_cnt--;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  349  			}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  350  		}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  351  		if (WARN_ON(lmqt_srcs != ntohs(ihv3->nsrcs))) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  352  			kfree_skb(skb);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  353  			return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  354  		}
5e9235853d652a Nikolay Aleksandrov 2016-11-21  355  		break;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  356  	}
eb1d16414339a6 Herbert Xu          2010-02-27  357  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  358  	if (WARN_ON(!csum || !csum_start)) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02 @359  		kfree(skb);

This should be kfree_skb(skb);

6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  360  		return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  361  	}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  362  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  363  	*csum = ip_compute_csum(csum_start, igmp_hdr_size);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  364  	skb_put(skb, igmp_hdr_size);
eb1d16414339a6 Herbert Xu          2010-02-27  365  	__skb_pull(skb, sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  366  
eb1d16414339a6 Herbert Xu          2010-02-27  367  out:
eb1d16414339a6 Herbert Xu          2010-02-27  368  	return skb;
eb1d16414339a6 Herbert Xu          2010-02-27  369  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30741 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH net-next v2 04/15] net: bridge: mcast: add support for group-and-source specific queries
Date: Thu, 03 Sep 2020 15:18:33 +0300	[thread overview]
Message-ID: <20200903121832.GD8299@kadam> (raw)
In-Reply-To: <20200902112529.1570040-5-nikolay@cumulusnetworks.com>

[-- Attachment #1: Type: text/plain, Size: 12457 bytes --]

Hi Nikolay,

url:    https://github.com/0day-ci/linux/commits/Nikolay-Aleksandrov/net-bridge-mcast-initial-IGMPv3-support-part-1/20200902-193339
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git dc1a9bf2c8169d9f607502162af1858a73a18cb8
config: i386-randconfig-m021-20200902 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
net/bridge/br_multicast.c:359 br_ip4_multicast_alloc_query() error: use kfree_skb() here instead of kfree(skb)

Old smatch warnings:
net/bridge/br_multicast.c:711 br_multicast_add_group() error: potential null dereference 'mp'.  (br_multicast_new_group returns null)

# https://github.com/0day-ci/linux/commit/6ed1da60b015f4e607ee2dcaaf557306a1bd3b57
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nikolay-Aleksandrov/net-bridge-mcast-initial-IGMPv3-support-part-1/20200902-193339
git checkout 6ed1da60b015f4e607ee2dcaaf557306a1bd3b57
vim +359 net/bridge/br_multicast.c

8ef2a9a5985499 YOSHIFUJI Hideaki   2010-04-18  230  static struct sk_buff *br_ip4_multicast_alloc_query(struct net_bridge *br,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  231  						    struct net_bridge_port_group *pg,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  232  						    __be32 ip_dst, __be32 group,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  233  						    bool with_srcs, bool over_lmqt,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  234  						    u8 sflag, u8 *igmp_type)
eb1d16414339a6 Herbert Xu          2010-02-27  235  {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  236  	struct net_bridge_port *p = pg ? pg->port : NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  237  	struct net_bridge_group_src *ent;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  238  	size_t pkt_size, igmp_hdr_size;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  239  	unsigned long now = jiffies;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  240  	struct igmpv3_query *ihv3;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  241  	void *csum_start = NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  242  	__sum16 *csum = NULL;
eb1d16414339a6 Herbert Xu          2010-02-27  243  	struct sk_buff *skb;
eb1d16414339a6 Herbert Xu          2010-02-27  244  	struct igmphdr *ih;
eb1d16414339a6 Herbert Xu          2010-02-27  245  	struct ethhdr *eth;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  246  	unsigned long lmqt;
eb1d16414339a6 Herbert Xu          2010-02-27  247  	struct iphdr *iph;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  248  	u16 lmqt_srcs = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  249  
5e9235853d652a Nikolay Aleksandrov 2016-11-21  250  	igmp_hdr_size = sizeof(*ih);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  251  	if (br->multicast_igmp_version == 3) {
5e9235853d652a Nikolay Aleksandrov 2016-11-21  252  		igmp_hdr_size = sizeof(*ihv3);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  253  		if (pg && with_srcs) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  254  			lmqt = now + (br->multicast_last_member_interval *
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  255  				      br->multicast_last_member_count);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  256  			hlist_for_each_entry(ent, &pg->src_list, node) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  257  				if (over_lmqt == time_after(ent->timer.expires,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  258  							    lmqt) &&
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  259  				    ent->src_query_rexmit_cnt > 0)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  260  					lmqt_srcs++;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  261  			}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  262  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  263  			if (!lmqt_srcs)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  264  				return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  265  			igmp_hdr_size += lmqt_srcs * sizeof(__be32);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  266  		}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  267  	}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  268  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  269  	pkt_size = sizeof(*eth) + sizeof(*iph) + 4 + igmp_hdr_size;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  270  	if ((p && pkt_size > p->dev->mtu) ||
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  271  	    pkt_size > br->dev->mtu)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  272  		return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  273  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  274  	skb = netdev_alloc_skb_ip_align(br->dev, pkt_size);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

eb1d16414339a6 Herbert Xu          2010-02-27  275  	if (!skb)
eb1d16414339a6 Herbert Xu          2010-02-27  276  		goto out;
eb1d16414339a6 Herbert Xu          2010-02-27  277  
eb1d16414339a6 Herbert Xu          2010-02-27  278  	skb->protocol = htons(ETH_P_IP);
eb1d16414339a6 Herbert Xu          2010-02-27  279  
eb1d16414339a6 Herbert Xu          2010-02-27  280  	skb_reset_mac_header(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  281  	eth = eth_hdr(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  282  
e5a727f6632654 Joe Perches         2014-02-23  283  	ether_addr_copy(eth->h_source, br->dev->dev_addr);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  284  	ip_eth_mc_map(ip_dst, eth->h_dest);
eb1d16414339a6 Herbert Xu          2010-02-27  285  	eth->h_proto = htons(ETH_P_IP);
eb1d16414339a6 Herbert Xu          2010-02-27  286  	skb_put(skb, sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  287  
eb1d16414339a6 Herbert Xu          2010-02-27  288  	skb_set_network_header(skb, skb->len);
eb1d16414339a6 Herbert Xu          2010-02-27  289  	iph = ip_hdr(skb);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  290  	iph->tot_len = htons(pkt_size - sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  291  
eb1d16414339a6 Herbert Xu          2010-02-27  292  	iph->version = 4;
eb1d16414339a6 Herbert Xu          2010-02-27  293  	iph->ihl = 6;
eb1d16414339a6 Herbert Xu          2010-02-27  294  	iph->tos = 0xc0;
eb1d16414339a6 Herbert Xu          2010-02-27  295  	iph->id = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  296  	iph->frag_off = htons(IP_DF);
eb1d16414339a6 Herbert Xu          2010-02-27  297  	iph->ttl = 1;
eb1d16414339a6 Herbert Xu          2010-02-27  298  	iph->protocol = IPPROTO_IGMP;
675779adbf7c80 Nikolay Aleksandrov 2018-09-26  299  	iph->saddr = br_opt_get(br, BROPT_MULTICAST_QUERY_USE_IFADDR) ?
1c8ad5bfa2be50 Cong Wang           2013-05-21  300  		     inet_select_addr(br->dev, 0, RT_SCOPE_LINK) : 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  301  	iph->daddr = ip_dst;
eb1d16414339a6 Herbert Xu          2010-02-27  302  	((u8 *)&iph[1])[0] = IPOPT_RA;
eb1d16414339a6 Herbert Xu          2010-02-27  303  	((u8 *)&iph[1])[1] = 4;
eb1d16414339a6 Herbert Xu          2010-02-27  304  	((u8 *)&iph[1])[2] = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  305  	((u8 *)&iph[1])[3] = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  306  	ip_send_check(iph);
eb1d16414339a6 Herbert Xu          2010-02-27  307  	skb_put(skb, 24);
eb1d16414339a6 Herbert Xu          2010-02-27  308  
eb1d16414339a6 Herbert Xu          2010-02-27  309  	skb_set_transport_header(skb, skb->len);
1080ab95e3c7bd Nikolay Aleksandrov 2016-06-28  310  	*igmp_type = IGMP_HOST_MEMBERSHIP_QUERY;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  311  
5e9235853d652a Nikolay Aleksandrov 2016-11-21  312  	switch (br->multicast_igmp_version) {
5e9235853d652a Nikolay Aleksandrov 2016-11-21  313  	case 2:
5e9235853d652a Nikolay Aleksandrov 2016-11-21  314  		ih = igmp_hdr(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  315  		ih->type = IGMP_HOST_MEMBERSHIP_QUERY;
eb1d16414339a6 Herbert Xu          2010-02-27  316  		ih->code = (group ? br->multicast_last_member_interval :
eb1d16414339a6 Herbert Xu          2010-02-27  317  				    br->multicast_query_response_interval) /
eb1d16414339a6 Herbert Xu          2010-02-27  318  			   (HZ / IGMP_TIMER_SCALE);
eb1d16414339a6 Herbert Xu          2010-02-27  319  		ih->group = group;
eb1d16414339a6 Herbert Xu          2010-02-27  320  		ih->csum = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  321  		csum = &ih->csum;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  322  		csum_start = (void *)ih;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  323  		break;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  324  	case 3:
5e9235853d652a Nikolay Aleksandrov 2016-11-21  325  		ihv3 = igmpv3_query_hdr(skb);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  326  		ihv3->type = IGMP_HOST_MEMBERSHIP_QUERY;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  327  		ihv3->code = (group ? br->multicast_last_member_interval :
5e9235853d652a Nikolay Aleksandrov 2016-11-21  328  				      br->multicast_query_response_interval) /
5e9235853d652a Nikolay Aleksandrov 2016-11-21  329  			     (HZ / IGMP_TIMER_SCALE);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  330  		ihv3->group = group;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  331  		ihv3->qqic = br->multicast_query_interval / HZ;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  332  		ihv3->nsrcs = htons(lmqt_srcs);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  333  		ihv3->resv = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  334  		ihv3->suppress = sflag;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  335  		ihv3->qrv = 2;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  336  		ihv3->csum = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  337  		csum = &ihv3->csum;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  338  		csum_start = (void *)ihv3;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  339  		if (!pg || !with_srcs)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  340  			break;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  341  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  342  		lmqt_srcs = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  343  		hlist_for_each_entry(ent, &pg->src_list, node) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  344  			if (over_lmqt == time_after(ent->timer.expires,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  345  						    lmqt) &&
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  346  			    ent->src_query_rexmit_cnt > 0) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  347  				ihv3->srcs[lmqt_srcs++] = ent->addr.u.ip4;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  348  				ent->src_query_rexmit_cnt--;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  349  			}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  350  		}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  351  		if (WARN_ON(lmqt_srcs != ntohs(ihv3->nsrcs))) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  352  			kfree_skb(skb);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  353  			return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  354  		}
5e9235853d652a Nikolay Aleksandrov 2016-11-21  355  		break;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  356  	}
eb1d16414339a6 Herbert Xu          2010-02-27  357  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  358  	if (WARN_ON(!csum || !csum_start)) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02 @359  		kfree(skb);

This should be kfree_skb(skb);

6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  360  		return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  361  	}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  362  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  363  	*csum = ip_compute_csum(csum_start, igmp_hdr_size);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  364  	skb_put(skb, igmp_hdr_size);
eb1d16414339a6 Herbert Xu          2010-02-27  365  	__skb_pull(skb, sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  366  
eb1d16414339a6 Herbert Xu          2010-02-27  367  out:
eb1d16414339a6 Herbert Xu          2010-02-27  368  	return skb;
eb1d16414339a6 Herbert Xu          2010-02-27  369  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30741 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH net-next v2 04/15] net: bridge: mcast: add support for group-and-source specific queries
Date: Thu, 03 Sep 2020 15:18:33 +0300	[thread overview]
Message-ID: <20200903121832.GD8299@kadam> (raw)
In-Reply-To: <20200902112529.1570040-5-nikolay@cumulusnetworks.com>

[-- Attachment #1: Type: text/plain, Size: 12457 bytes --]

Hi Nikolay,

url:    https://github.com/0day-ci/linux/commits/Nikolay-Aleksandrov/net-bridge-mcast-initial-IGMPv3-support-part-1/20200902-193339
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git dc1a9bf2c8169d9f607502162af1858a73a18cb8
config: i386-randconfig-m021-20200902 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
net/bridge/br_multicast.c:359 br_ip4_multicast_alloc_query() error: use kfree_skb() here instead of kfree(skb)

Old smatch warnings:
net/bridge/br_multicast.c:711 br_multicast_add_group() error: potential null dereference 'mp'.  (br_multicast_new_group returns null)

# https://github.com/0day-ci/linux/commit/6ed1da60b015f4e607ee2dcaaf557306a1bd3b57
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nikolay-Aleksandrov/net-bridge-mcast-initial-IGMPv3-support-part-1/20200902-193339
git checkout 6ed1da60b015f4e607ee2dcaaf557306a1bd3b57
vim +359 net/bridge/br_multicast.c

8ef2a9a5985499 YOSHIFUJI Hideaki   2010-04-18  230  static struct sk_buff *br_ip4_multicast_alloc_query(struct net_bridge *br,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  231  						    struct net_bridge_port_group *pg,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  232  						    __be32 ip_dst, __be32 group,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  233  						    bool with_srcs, bool over_lmqt,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  234  						    u8 sflag, u8 *igmp_type)
eb1d16414339a6 Herbert Xu          2010-02-27  235  {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  236  	struct net_bridge_port *p = pg ? pg->port : NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  237  	struct net_bridge_group_src *ent;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  238  	size_t pkt_size, igmp_hdr_size;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  239  	unsigned long now = jiffies;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  240  	struct igmpv3_query *ihv3;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  241  	void *csum_start = NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  242  	__sum16 *csum = NULL;
eb1d16414339a6 Herbert Xu          2010-02-27  243  	struct sk_buff *skb;
eb1d16414339a6 Herbert Xu          2010-02-27  244  	struct igmphdr *ih;
eb1d16414339a6 Herbert Xu          2010-02-27  245  	struct ethhdr *eth;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  246  	unsigned long lmqt;
eb1d16414339a6 Herbert Xu          2010-02-27  247  	struct iphdr *iph;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  248  	u16 lmqt_srcs = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  249  
5e9235853d652a Nikolay Aleksandrov 2016-11-21  250  	igmp_hdr_size = sizeof(*ih);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  251  	if (br->multicast_igmp_version == 3) {
5e9235853d652a Nikolay Aleksandrov 2016-11-21  252  		igmp_hdr_size = sizeof(*ihv3);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  253  		if (pg && with_srcs) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  254  			lmqt = now + (br->multicast_last_member_interval *
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  255  				      br->multicast_last_member_count);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  256  			hlist_for_each_entry(ent, &pg->src_list, node) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  257  				if (over_lmqt == time_after(ent->timer.expires,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  258  							    lmqt) &&
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  259  				    ent->src_query_rexmit_cnt > 0)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  260  					lmqt_srcs++;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  261  			}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  262  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  263  			if (!lmqt_srcs)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  264  				return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  265  			igmp_hdr_size += lmqt_srcs * sizeof(__be32);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  266  		}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  267  	}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  268  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  269  	pkt_size = sizeof(*eth) + sizeof(*iph) + 4 + igmp_hdr_size;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  270  	if ((p && pkt_size > p->dev->mtu) ||
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  271  	    pkt_size > br->dev->mtu)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  272  		return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  273  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  274  	skb = netdev_alloc_skb_ip_align(br->dev, pkt_size);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

eb1d16414339a6 Herbert Xu          2010-02-27  275  	if (!skb)
eb1d16414339a6 Herbert Xu          2010-02-27  276  		goto out;
eb1d16414339a6 Herbert Xu          2010-02-27  277  
eb1d16414339a6 Herbert Xu          2010-02-27  278  	skb->protocol = htons(ETH_P_IP);
eb1d16414339a6 Herbert Xu          2010-02-27  279  
eb1d16414339a6 Herbert Xu          2010-02-27  280  	skb_reset_mac_header(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  281  	eth = eth_hdr(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  282  
e5a727f6632654 Joe Perches         2014-02-23  283  	ether_addr_copy(eth->h_source, br->dev->dev_addr);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  284  	ip_eth_mc_map(ip_dst, eth->h_dest);
eb1d16414339a6 Herbert Xu          2010-02-27  285  	eth->h_proto = htons(ETH_P_IP);
eb1d16414339a6 Herbert Xu          2010-02-27  286  	skb_put(skb, sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  287  
eb1d16414339a6 Herbert Xu          2010-02-27  288  	skb_set_network_header(skb, skb->len);
eb1d16414339a6 Herbert Xu          2010-02-27  289  	iph = ip_hdr(skb);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  290  	iph->tot_len = htons(pkt_size - sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  291  
eb1d16414339a6 Herbert Xu          2010-02-27  292  	iph->version = 4;
eb1d16414339a6 Herbert Xu          2010-02-27  293  	iph->ihl = 6;
eb1d16414339a6 Herbert Xu          2010-02-27  294  	iph->tos = 0xc0;
eb1d16414339a6 Herbert Xu          2010-02-27  295  	iph->id = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  296  	iph->frag_off = htons(IP_DF);
eb1d16414339a6 Herbert Xu          2010-02-27  297  	iph->ttl = 1;
eb1d16414339a6 Herbert Xu          2010-02-27  298  	iph->protocol = IPPROTO_IGMP;
675779adbf7c80 Nikolay Aleksandrov 2018-09-26  299  	iph->saddr = br_opt_get(br, BROPT_MULTICAST_QUERY_USE_IFADDR) ?
1c8ad5bfa2be50 Cong Wang           2013-05-21  300  		     inet_select_addr(br->dev, 0, RT_SCOPE_LINK) : 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  301  	iph->daddr = ip_dst;
eb1d16414339a6 Herbert Xu          2010-02-27  302  	((u8 *)&iph[1])[0] = IPOPT_RA;
eb1d16414339a6 Herbert Xu          2010-02-27  303  	((u8 *)&iph[1])[1] = 4;
eb1d16414339a6 Herbert Xu          2010-02-27  304  	((u8 *)&iph[1])[2] = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  305  	((u8 *)&iph[1])[3] = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  306  	ip_send_check(iph);
eb1d16414339a6 Herbert Xu          2010-02-27  307  	skb_put(skb, 24);
eb1d16414339a6 Herbert Xu          2010-02-27  308  
eb1d16414339a6 Herbert Xu          2010-02-27  309  	skb_set_transport_header(skb, skb->len);
1080ab95e3c7bd Nikolay Aleksandrov 2016-06-28  310  	*igmp_type = IGMP_HOST_MEMBERSHIP_QUERY;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  311  
5e9235853d652a Nikolay Aleksandrov 2016-11-21  312  	switch (br->multicast_igmp_version) {
5e9235853d652a Nikolay Aleksandrov 2016-11-21  313  	case 2:
5e9235853d652a Nikolay Aleksandrov 2016-11-21  314  		ih = igmp_hdr(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  315  		ih->type = IGMP_HOST_MEMBERSHIP_QUERY;
eb1d16414339a6 Herbert Xu          2010-02-27  316  		ih->code = (group ? br->multicast_last_member_interval :
eb1d16414339a6 Herbert Xu          2010-02-27  317  				    br->multicast_query_response_interval) /
eb1d16414339a6 Herbert Xu          2010-02-27  318  			   (HZ / IGMP_TIMER_SCALE);
eb1d16414339a6 Herbert Xu          2010-02-27  319  		ih->group = group;
eb1d16414339a6 Herbert Xu          2010-02-27  320  		ih->csum = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  321  		csum = &ih->csum;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  322  		csum_start = (void *)ih;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  323  		break;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  324  	case 3:
5e9235853d652a Nikolay Aleksandrov 2016-11-21  325  		ihv3 = igmpv3_query_hdr(skb);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  326  		ihv3->type = IGMP_HOST_MEMBERSHIP_QUERY;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  327  		ihv3->code = (group ? br->multicast_last_member_interval :
5e9235853d652a Nikolay Aleksandrov 2016-11-21  328  				      br->multicast_query_response_interval) /
5e9235853d652a Nikolay Aleksandrov 2016-11-21  329  			     (HZ / IGMP_TIMER_SCALE);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  330  		ihv3->group = group;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  331  		ihv3->qqic = br->multicast_query_interval / HZ;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  332  		ihv3->nsrcs = htons(lmqt_srcs);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  333  		ihv3->resv = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  334  		ihv3->suppress = sflag;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  335  		ihv3->qrv = 2;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  336  		ihv3->csum = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  337  		csum = &ihv3->csum;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  338  		csum_start = (void *)ihv3;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  339  		if (!pg || !with_srcs)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  340  			break;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  341  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  342  		lmqt_srcs = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  343  		hlist_for_each_entry(ent, &pg->src_list, node) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  344  			if (over_lmqt == time_after(ent->timer.expires,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  345  						    lmqt) &&
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  346  			    ent->src_query_rexmit_cnt > 0) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  347  				ihv3->srcs[lmqt_srcs++] = ent->addr.u.ip4;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  348  				ent->src_query_rexmit_cnt--;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  349  			}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  350  		}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  351  		if (WARN_ON(lmqt_srcs != ntohs(ihv3->nsrcs))) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  352  			kfree_skb(skb);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  353  			return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  354  		}
5e9235853d652a Nikolay Aleksandrov 2016-11-21  355  		break;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  356  	}
eb1d16414339a6 Herbert Xu          2010-02-27  357  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  358  	if (WARN_ON(!csum || !csum_start)) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02 @359  		kfree(skb);

This should be kfree_skb(skb);

6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  360  		return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  361  	}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  362  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  363  	*csum = ip_compute_csum(csum_start, igmp_hdr_size);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  364  	skb_put(skb, igmp_hdr_size);
eb1d16414339a6 Herbert Xu          2010-02-27  365  	__skb_pull(skb, sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  366  
eb1d16414339a6 Herbert Xu          2010-02-27  367  out:
eb1d16414339a6 Herbert Xu          2010-02-27  368  	return skb;
eb1d16414339a6 Herbert Xu          2010-02-27  369  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30741 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org,
	Nikolay Aleksandrov <nikolay@cumulusnetworks.com>,
	netdev@vger.kernel.org
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>,
	kbuild-all@lists.01.org, roopa@nvidia.com,
	bridge@lists.linux-foundation.org, davem@davemloft.net,
	Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Subject: Re: [PATCH net-next v2 04/15] net: bridge: mcast: add support for group-and-source specific queries
Date: Thu, 3 Sep 2020 15:18:33 +0300	[thread overview]
Message-ID: <20200903121832.GD8299@kadam> (raw)
In-Reply-To: <20200902112529.1570040-5-nikolay@cumulusnetworks.com>

[-- Attachment #1: Type: text/plain, Size: 12283 bytes --]

Hi Nikolay,

url:    https://github.com/0day-ci/linux/commits/Nikolay-Aleksandrov/net-bridge-mcast-initial-IGMPv3-support-part-1/20200902-193339
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git dc1a9bf2c8169d9f607502162af1858a73a18cb8
config: i386-randconfig-m021-20200902 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
net/bridge/br_multicast.c:359 br_ip4_multicast_alloc_query() error: use kfree_skb() here instead of kfree(skb)

Old smatch warnings:
net/bridge/br_multicast.c:711 br_multicast_add_group() error: potential null dereference 'mp'.  (br_multicast_new_group returns null)

# https://github.com/0day-ci/linux/commit/6ed1da60b015f4e607ee2dcaaf557306a1bd3b57
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nikolay-Aleksandrov/net-bridge-mcast-initial-IGMPv3-support-part-1/20200902-193339
git checkout 6ed1da60b015f4e607ee2dcaaf557306a1bd3b57
vim +359 net/bridge/br_multicast.c

8ef2a9a5985499 YOSHIFUJI Hideaki   2010-04-18  230  static struct sk_buff *br_ip4_multicast_alloc_query(struct net_bridge *br,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  231  						    struct net_bridge_port_group *pg,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  232  						    __be32 ip_dst, __be32 group,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  233  						    bool with_srcs, bool over_lmqt,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  234  						    u8 sflag, u8 *igmp_type)
eb1d16414339a6 Herbert Xu          2010-02-27  235  {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  236  	struct net_bridge_port *p = pg ? pg->port : NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  237  	struct net_bridge_group_src *ent;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  238  	size_t pkt_size, igmp_hdr_size;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  239  	unsigned long now = jiffies;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  240  	struct igmpv3_query *ihv3;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  241  	void *csum_start = NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  242  	__sum16 *csum = NULL;
eb1d16414339a6 Herbert Xu          2010-02-27  243  	struct sk_buff *skb;
eb1d16414339a6 Herbert Xu          2010-02-27  244  	struct igmphdr *ih;
eb1d16414339a6 Herbert Xu          2010-02-27  245  	struct ethhdr *eth;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  246  	unsigned long lmqt;
eb1d16414339a6 Herbert Xu          2010-02-27  247  	struct iphdr *iph;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  248  	u16 lmqt_srcs = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  249  
5e9235853d652a Nikolay Aleksandrov 2016-11-21  250  	igmp_hdr_size = sizeof(*ih);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  251  	if (br->multicast_igmp_version == 3) {
5e9235853d652a Nikolay Aleksandrov 2016-11-21  252  		igmp_hdr_size = sizeof(*ihv3);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  253  		if (pg && with_srcs) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  254  			lmqt = now + (br->multicast_last_member_interval *
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  255  				      br->multicast_last_member_count);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  256  			hlist_for_each_entry(ent, &pg->src_list, node) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  257  				if (over_lmqt == time_after(ent->timer.expires,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  258  							    lmqt) &&
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  259  				    ent->src_query_rexmit_cnt > 0)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  260  					lmqt_srcs++;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  261  			}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  262  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  263  			if (!lmqt_srcs)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  264  				return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  265  			igmp_hdr_size += lmqt_srcs * sizeof(__be32);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  266  		}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  267  	}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  268  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  269  	pkt_size = sizeof(*eth) + sizeof(*iph) + 4 + igmp_hdr_size;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  270  	if ((p && pkt_size > p->dev->mtu) ||
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  271  	    pkt_size > br->dev->mtu)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  272  		return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  273  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  274  	skb = netdev_alloc_skb_ip_align(br->dev, pkt_size);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

eb1d16414339a6 Herbert Xu          2010-02-27  275  	if (!skb)
eb1d16414339a6 Herbert Xu          2010-02-27  276  		goto out;
eb1d16414339a6 Herbert Xu          2010-02-27  277  
eb1d16414339a6 Herbert Xu          2010-02-27  278  	skb->protocol = htons(ETH_P_IP);
eb1d16414339a6 Herbert Xu          2010-02-27  279  
eb1d16414339a6 Herbert Xu          2010-02-27  280  	skb_reset_mac_header(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  281  	eth = eth_hdr(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  282  
e5a727f6632654 Joe Perches         2014-02-23  283  	ether_addr_copy(eth->h_source, br->dev->dev_addr);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  284  	ip_eth_mc_map(ip_dst, eth->h_dest);
eb1d16414339a6 Herbert Xu          2010-02-27  285  	eth->h_proto = htons(ETH_P_IP);
eb1d16414339a6 Herbert Xu          2010-02-27  286  	skb_put(skb, sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  287  
eb1d16414339a6 Herbert Xu          2010-02-27  288  	skb_set_network_header(skb, skb->len);
eb1d16414339a6 Herbert Xu          2010-02-27  289  	iph = ip_hdr(skb);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  290  	iph->tot_len = htons(pkt_size - sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  291  
eb1d16414339a6 Herbert Xu          2010-02-27  292  	iph->version = 4;
eb1d16414339a6 Herbert Xu          2010-02-27  293  	iph->ihl = 6;
eb1d16414339a6 Herbert Xu          2010-02-27  294  	iph->tos = 0xc0;
eb1d16414339a6 Herbert Xu          2010-02-27  295  	iph->id = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  296  	iph->frag_off = htons(IP_DF);
eb1d16414339a6 Herbert Xu          2010-02-27  297  	iph->ttl = 1;
eb1d16414339a6 Herbert Xu          2010-02-27  298  	iph->protocol = IPPROTO_IGMP;
675779adbf7c80 Nikolay Aleksandrov 2018-09-26  299  	iph->saddr = br_opt_get(br, BROPT_MULTICAST_QUERY_USE_IFADDR) ?
1c8ad5bfa2be50 Cong Wang           2013-05-21  300  		     inet_select_addr(br->dev, 0, RT_SCOPE_LINK) : 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  301  	iph->daddr = ip_dst;
eb1d16414339a6 Herbert Xu          2010-02-27  302  	((u8 *)&iph[1])[0] = IPOPT_RA;
eb1d16414339a6 Herbert Xu          2010-02-27  303  	((u8 *)&iph[1])[1] = 4;
eb1d16414339a6 Herbert Xu          2010-02-27  304  	((u8 *)&iph[1])[2] = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  305  	((u8 *)&iph[1])[3] = 0;
eb1d16414339a6 Herbert Xu          2010-02-27  306  	ip_send_check(iph);
eb1d16414339a6 Herbert Xu          2010-02-27  307  	skb_put(skb, 24);
eb1d16414339a6 Herbert Xu          2010-02-27  308  
eb1d16414339a6 Herbert Xu          2010-02-27  309  	skb_set_transport_header(skb, skb->len);
1080ab95e3c7bd Nikolay Aleksandrov 2016-06-28  310  	*igmp_type = IGMP_HOST_MEMBERSHIP_QUERY;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  311  
5e9235853d652a Nikolay Aleksandrov 2016-11-21  312  	switch (br->multicast_igmp_version) {
5e9235853d652a Nikolay Aleksandrov 2016-11-21  313  	case 2:
5e9235853d652a Nikolay Aleksandrov 2016-11-21  314  		ih = igmp_hdr(skb);
eb1d16414339a6 Herbert Xu          2010-02-27  315  		ih->type = IGMP_HOST_MEMBERSHIP_QUERY;
eb1d16414339a6 Herbert Xu          2010-02-27  316  		ih->code = (group ? br->multicast_last_member_interval :
eb1d16414339a6 Herbert Xu          2010-02-27  317  				    br->multicast_query_response_interval) /
eb1d16414339a6 Herbert Xu          2010-02-27  318  			   (HZ / IGMP_TIMER_SCALE);
eb1d16414339a6 Herbert Xu          2010-02-27  319  		ih->group = group;
eb1d16414339a6 Herbert Xu          2010-02-27  320  		ih->csum = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  321  		csum = &ih->csum;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  322  		csum_start = (void *)ih;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  323  		break;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  324  	case 3:
5e9235853d652a Nikolay Aleksandrov 2016-11-21  325  		ihv3 = igmpv3_query_hdr(skb);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  326  		ihv3->type = IGMP_HOST_MEMBERSHIP_QUERY;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  327  		ihv3->code = (group ? br->multicast_last_member_interval :
5e9235853d652a Nikolay Aleksandrov 2016-11-21  328  				      br->multicast_query_response_interval) /
5e9235853d652a Nikolay Aleksandrov 2016-11-21  329  			     (HZ / IGMP_TIMER_SCALE);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  330  		ihv3->group = group;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  331  		ihv3->qqic = br->multicast_query_interval / HZ;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  332  		ihv3->nsrcs = htons(lmqt_srcs);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  333  		ihv3->resv = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  334  		ihv3->suppress = sflag;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  335  		ihv3->qrv = 2;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  336  		ihv3->csum = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  337  		csum = &ihv3->csum;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  338  		csum_start = (void *)ihv3;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  339  		if (!pg || !with_srcs)
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  340  			break;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  341  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  342  		lmqt_srcs = 0;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  343  		hlist_for_each_entry(ent, &pg->src_list, node) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  344  			if (over_lmqt == time_after(ent->timer.expires,
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  345  						    lmqt) &&
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  346  			    ent->src_query_rexmit_cnt > 0) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  347  				ihv3->srcs[lmqt_srcs++] = ent->addr.u.ip4;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  348  				ent->src_query_rexmit_cnt--;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  349  			}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  350  		}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  351  		if (WARN_ON(lmqt_srcs != ntohs(ihv3->nsrcs))) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  352  			kfree_skb(skb);
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  353  			return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  354  		}
5e9235853d652a Nikolay Aleksandrov 2016-11-21  355  		break;
5e9235853d652a Nikolay Aleksandrov 2016-11-21  356  	}
eb1d16414339a6 Herbert Xu          2010-02-27  357  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  358  	if (WARN_ON(!csum || !csum_start)) {
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02 @359  		kfree(skb);

This should be kfree_skb(skb);

6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  360  		return NULL;
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  361  	}
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  362  
6ed1da60b015f4 Nikolay Aleksandrov 2020-09-02  363  	*csum = ip_compute_csum(csum_start, igmp_hdr_size);
5e9235853d652a Nikolay Aleksandrov 2016-11-21  364  	skb_put(skb, igmp_hdr_size);
eb1d16414339a6 Herbert Xu          2010-02-27  365  	__skb_pull(skb, sizeof(*eth));
eb1d16414339a6 Herbert Xu          2010-02-27  366  
eb1d16414339a6 Herbert Xu          2010-02-27  367  out:
eb1d16414339a6 Herbert Xu          2010-02-27  368  	return skb;
eb1d16414339a6 Herbert Xu          2010-02-27  369  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30741 bytes --]

  reply	other threads:[~2020-09-03 12:18 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-02 11:25 [Bridge] [PATCH net-next v2 00/15] net: bridge: mcast: initial IGMPv3 support (part 1) Nikolay Aleksandrov
2020-09-02 11:25 ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 01/15] net: bridge: mdb: arrange internal structs so fast-path fields are close Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 02/15] net: bridge: mcast: add support for group source list Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 03/15] net: bridge: mcast: add support for src list and filter mode dumping Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 04/15] net: bridge: mcast: add support for group-and-source specific queries Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-03 12:18   ` Dan Carpenter [this message]
2020-09-03 12:18     ` Dan Carpenter
2020-09-03 12:18     ` Dan Carpenter
2020-09-03 12:18     ` Dan Carpenter
2020-09-03 12:40     ` [Bridge] " Nikolay Aleksandrov
2020-09-03 12:40       ` Nikolay Aleksandrov
2020-09-03 12:40       ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 05/15] net: bridge: mcast: factor out port group del Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 06/15] net: bridge: mcast: add support for group query retransmit Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 07/15] net: bridge: mdb: push notifications in __br_mdb_add/del Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 08/15] net: bridge: mdb: use mdb and port entries in notifications Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 09/15] net: bridge: mcast: delete expired port groups without srcs Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 10/15] net: bridge: mcast: support for IGMPv3 IGMPV3_ALLOW_NEW_SOURCES report Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 11/15] net: bridge: mcast: support for IGMPV3_MODE_IS_INCLUDE/EXCLUDE report Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 12/15] net: bridge: mcast: support for IGMPV3_CHANGE_TO_INCLUDE/EXCLUDE report Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 13/15] net: bridge: mcast: support for IGMPV3_BLOCK_OLD_SOURCES report Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 14/15] net: bridge: mcast: improve v3 query processing Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 11:25 ` [Bridge] [PATCH net-next v2 15/15] net: bridge: mcast: destroy all entries via gc Nikolay Aleksandrov
2020-09-02 11:25   ` Nikolay Aleksandrov
2020-09-02 19:58 ` [Bridge] [PATCH net-next v2 00/15] net: bridge: mcast: initial IGMPv3 support (part 1) David Miller
2020-09-02 19:58   ` David Miller
2020-09-02 20:08   ` [Bridge] " Nikolay Aleksandrov
2020-09-02 20:08     ` Nikolay Aleksandrov
2020-09-02 20:17     ` [Bridge] " Nikolay Aleksandrov
2020-09-02 20:17       ` Nikolay Aleksandrov
2020-09-02 23:16       ` [Bridge] " David Miller
2020-09-02 23:16         ` David Miller
2020-09-02 23:16     ` [Bridge] " David Miller
2020-09-02 23:16       ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200903121832.GD8299@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=bridge@lists.linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=error27@gmail.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kbuild@lists.01.org \
    --cc=lkp@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=nikolay@cumulusnetworks.com \
    --cc=roopa@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.