diff options
author | RongQing.Li <roy.qing.li@gmail.com> | 2012-03-15 18:54:14 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-03-17 00:56:42 -0400 |
commit | c577923756b7fe9071f28a76b66b83b306d1d001 (patch) | |
tree | 3cdb24e829bf58f5a319c9e9dca491ce295276e1 /net/ipv6/mcast.c | |
parent | b8fbaef586176f6abe0eb7887ddae66e99898b79 (diff) |
ipv6: Don't dev_hold(dev) in ip6_mc_find_dev_rcu.
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 <roy.qing.li@gmail.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/mcast.c')
-rw-r--r-- | net/ipv6/mcast.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index b853f06cc148..16c33e308121 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, | |||
257 | 257 | ||
258 | if (rt) { | 258 | if (rt) { |
259 | dev = rt->dst.dev; | 259 | dev = rt->dst.dev; |
260 | dev_hold(dev); | ||
261 | dst_release(&rt->dst); | 260 | dst_release(&rt->dst); |
262 | } | 261 | } |
263 | } else | 262 | } else |