af_packet: mc_drop/flush_mclist changes

We hold RTNL, we can use __dev_get_by_index() instead of dev_get_by_index()

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Eric Dumazet 2009-10-16 06:38:46 +00:00 committed by David S. Miller
parent 94b059520d
commit ad959e76f0
1 changed files with 4 additions and 8 deletions

View File

@ -1664,11 +1664,9 @@ static int packet_mc_drop(struct sock *sk, struct packet_mreq_max *mreq)
if (--ml->count == 0) {
struct net_device *dev;
*mlp = ml->next;
dev = dev_get_by_index(sock_net(sk), ml->ifindex);
if (dev) {
dev = __dev_get_by_index(sock_net(sk), ml->ifindex);
if (dev)
packet_dev_mc(dev, ml, -1);
dev_put(dev);
}
kfree(ml);
}
rtnl_unlock();
@ -1692,11 +1690,9 @@ static void packet_flush_mclist(struct sock *sk)
struct net_device *dev;
po->mclist = ml->next;
dev = dev_get_by_index(sock_net(sk), ml->ifindex);
if (dev != NULL) {
dev = __dev_get_by_index(sock_net(sk), ml->ifindex);
if (dev != NULL)
packet_dev_mc(dev, ml, -1);
dev_put(dev);
}
kfree(ml);
}
rtnl_unlock();