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>
Showing
- drivers/net/vxlan.c 4 additions, 1 deletiondrivers/net/vxlan.c
- include/linux/igmp.h 0 additions, 2 deletionsinclude/linux/igmp.h
- include/net/ipv6.h 0 additions, 4 deletionsinclude/net/ipv6.h
- net/ipv4/devinet.c 2 additions, 2 deletionsnet/ipv4/devinet.c
- net/ipv4/igmp.c 8 additions, 33 deletionsnet/ipv4/igmp.c
- net/ipv4/ip_sockglue.c 15 additions, 6 deletionsnet/ipv4/ip_sockglue.c
- net/ipv6/addrconf.c 2 additions, 2 deletionsnet/ipv6/addrconf.c
- net/ipv6/ipv6_sockglue.c 13 additions, 8 deletionsnet/ipv6/ipv6_sockglue.c
- net/ipv6/mcast.c 3 additions, 27 deletionsnet/ipv6/mcast.c
- net/netfilter/ipvs/ip_vs_sync.c 2 additions, 0 deletionsnet/netfilter/ipvs/ip_vs_sync.c
- net/tipc/udp_media.c 2 additions, 2 deletionsnet/tipc/udp_media.c
Loading
Please register or sign in to comment