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 --]
next prev parent 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.