ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop}
authorMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Wed, 18 Mar 2015 17:50:43 +0000 (14:50 -0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Mar 2015 02:05:09 +0000 (22:05 -0400)
commit54ff9ef36bdf84d469a098cbf8e2a103fbc77054
tree74fb6219d97f44685a80b090888ffd5ea667e01e
parentbaf606d9c9b12517e47e0d1370e8aa9f7323f210
ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop}

in favor of their inner __ ones, which doesn't grab rtnl.

As these functions need to operate on a locked socket, we can't be
grabbing rtnl by then. It's too late and doing so causes reversed
locking.

So this patch:
- move rtnl handling to callers instead while already fixing some
  reversed locking situations, like on vxlan and ipvs code.
- renames __ ones to not have the __ mark:
  __ip_mc_{join,leave}_group -> ip_mc_{join,leave}_group
  __ipv6_sock_mc_{join,drop} -> ipv6_sock_mc_{join,drop}

Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c
include/linux/igmp.h
include/net/ipv6.h
net/ipv4/devinet.c
net/ipv4/igmp.c
net/ipv4/ip_sockglue.c
net/ipv6/addrconf.c
net/ipv6/ipv6_sockglue.c
net/ipv6/mcast.c
net/netfilter/ipvs/ip_vs_sync.c
net/tipc/udp_media.c