From: RongQing.Li Date: Thu, 15 Mar 2012 22:54:14 +0000 (+0000) Subject: ipv6: Don't dev_hold(dev) in ip6_mc_find_dev_rcu. X-Git-Tag: firefly_0821_release~7541^2~1553 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=97490c46fea06ecf95f989789e72c54fba2e2584;p=firefly-linux-kernel-4.4.55.git ipv6: Don't dev_hold(dev) in ip6_mc_find_dev_rcu. [ Upstream commit c577923756b7fe9071f28a76b66b83b306d1d001 ] ip6_mc_find_dev_rcu() is called with rcu_read_lock(), so don't need to dev_hold(). With dev_hold(), not corresponding dev_put(), will lead to leak. [ bug introduced in 96b52e61be1 (ipv6: mcast: RCU conversions) ] Signed-off-by: RongQing.Li Acked-by: Eric Dumazet Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index ee7839f4d6e3..225736697df5 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c @@ -257,7 +257,6 @@ static struct inet6_dev *ip6_mc_find_dev_rcu(struct net *net, if (rt) { dev = rt->rt6i_dev; - dev_hold(dev); dst_release(&rt->dst); } } else