igmp.c (310b7cec8ea32dcd4e9978423717ce78dd89d45d) igmp.c (2094acbb714e24e464c810c2d8fa57493fcb25a6)
1/*
2 * Linux NET3: Internet Group Management Protocol [IGMP]
3 *
4 * This code implements the IGMP protocol as defined in RFC1112. There has
5 * been a further revision of this protocol since which is now supported.
6 *
7 * If you have trouble with this module be careful what gcc you have used,
8 * the older version didn't come out right using gcc 2.5.8, the newer one

--- 2555 unchanged lines hidden (view full) ---

2564 /* decrease mem now to avoid the memleak warning */
2565 atomic_sub(sizeof(*iml), &sk->sk_omem_alloc);
2566 kfree_rcu(iml, rcu);
2567 }
2568 rtnl_unlock();
2569}
2570
2571/* called with rcu_read_lock() */
1/*
2 * Linux NET3: Internet Group Management Protocol [IGMP]
3 *
4 * This code implements the IGMP protocol as defined in RFC1112. There has
5 * been a further revision of this protocol since which is now supported.
6 *
7 * If you have trouble with this module be careful what gcc you have used,
8 * the older version didn't come out right using gcc 2.5.8, the newer one

--- 2555 unchanged lines hidden (view full) ---

2564 /* decrease mem now to avoid the memleak warning */
2565 atomic_sub(sizeof(*iml), &sk->sk_omem_alloc);
2566 kfree_rcu(iml, rcu);
2567 }
2568 rtnl_unlock();
2569}
2570
2571/* called with rcu_read_lock() */
2572int ip_check_mc_rcu(struct in_device *in_dev, __be32 mc_addr, __be32 src_addr, u16 proto)
2572int ip_check_mc_rcu(struct in_device *in_dev, __be32 mc_addr, __be32 src_addr, u8 proto)
2573{
2574 struct ip_mc_list *im;
2575 struct ip_mc_list __rcu **mc_hash;
2576 struct ip_sf_list *psf;
2577 int rv = 0;
2578
2579 mc_hash = rcu_dereference(in_dev->mc_hash);
2580 if (mc_hash) {

--- 409 unchanged lines hidden ---
2573{
2574 struct ip_mc_list *im;
2575 struct ip_mc_list __rcu **mc_hash;
2576 struct ip_sf_list *psf;
2577 int rv = 0;
2578
2579 mc_hash = rcu_dereference(in_dev->mc_hash);
2580 if (mc_hash) {

--- 409 unchanged lines hidden ---