kernel_optimize_test/net/ipv6
Marcelo Ricardo Leitner baf606d9c9 ipv4,ipv6: grab rtnl before locking the socket
There are some setsockopt operations in ipv4 and ipv6 that are grabbing
rtnl after having grabbed the socket lock. Yet this makes it impossible
to do operations that have to lock the socket when already within a rtnl
protected scope, like ndo dev_open and dev_stop.

We normally take coarse grained locks first but setsockopt inverted that.

So this patch invert the lock logic for these operations and makes
setsockopt grab rtnl if it will be needed prior to grabbing socket lock.

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>
2015-03-18 22:05:09 -04:00
..
netfilter netfilter: fix sparse warnings in reject handling 2015-03-10 15:01:32 +01:00
addrconf_core.c
addrconf.c
addrlabel.c net: Introduce possible_net_t 2015-03-12 14:39:40 -04:00
af_inet6.c
ah6.c
anycast.c
datagram.c ip: fix error queue empty skb handling 2015-03-08 23:01:54 -04:00
esp6.c
exthdrs_core.c
exthdrs_offload.c
exthdrs.c
fib6_rules.c
icmp.c
inet6_connection_sock.c
inet6_hashtables.c inet: get rid of last __inet_hash_connect() argument 2015-03-18 22:00:35 -04:00
ip6_checksum.c
ip6_fib.c
ip6_flowlabel.c net: Kill hold_net release_net 2015-03-12 14:39:40 -04:00
ip6_gre.c
ip6_icmp.c
ip6_input.c
ip6_offload.c
ip6_offload.h
ip6_output.c
ip6_tunnel.c
ip6_udp_tunnel.c
ip6_vti.c
ip6mr.c net: Introduce possible_net_t 2015-03-12 14:39:40 -04:00
ipcomp6.c
ipv6_sockglue.c ipv4,ipv6: grab rtnl before locking the socket 2015-03-18 22:05:09 -04:00
Kconfig
Makefile
mcast.c
mip6.c
ndisc.c
netfilter.c
output_core.c
ping.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-09 23:38:02 -04:00
proc.c
protocol.c
raw.c
reassembly.c
route.c ipv6: expose RFC4191 route preference via rtnetlink 2015-03-11 23:28:09 -04:00
sit.c
syncookies.c inet: fix request sock refcounting 2015-03-17 22:02:29 -04:00
sysctl_net_ipv6.c
tcp_ipv6.c ipv6: get rid of __inet6_hash() 2015-03-18 22:00:35 -04:00
tcpv6_offload.c
tunnel6.c
udp_impl.h
udp_offload.c
udp.c netns: constify net_hash_mix() and various callers 2015-03-18 22:00:34 -04:00
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c net: Remove protocol from struct dst_ops 2015-03-09 16:06:10 -04:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c