linux-stable/net/ipv4
Nikolay Aleksandrov fbdd29bfd2 net: ipmr, ip6mr: fix vif/tunnel failure race condition
Since (at least) commit b17a7c179d ("[NET]: Do sysfs registration as
part of register_netdevice."), netdev_run_todo() deals only with
unregistration, so we don't need to do the rtnl_unlock/lock cycle to
finish registration when failing pimreg or dvmrp device creation. In
fact that opens a race condition where someone can delete the device
while rtnl is unlocked because it's fully registered. The problem gets
worse when netlink support is introduced as there are more points of entry
that can cause it and it also makes reusing that code correctly impossible.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Reviewed-by: Cong Wang <cwang@twopensource.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-11-24 17:15:56 -05:00
..
netfilter netfilter: Fix removal of GRE expectation entries created by PPTP 2015-11-09 13:32:14 +01:00
af_inet.c
ah4.c
arp.c
cipso_ipv4.c
datagram.c
devinet.c
esp4.c
fib_frontend.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-11-03 13:41:45 -05:00
fib_lookup.h
fib_rules.c
fib_semantics.c net: Fix prefsrc lookups 2015-11-04 21:34:37 -05:00
fib_trie.c
fou.c
gre_demux.c
gre_offload.c
icmp.c
igmp.c ipv4: fix a potential deadlock in mcast getsockopt() path 2015-11-04 21:29:59 -05:00
inet_connection_sock.c tcp: ensure proper barriers in lockless contexts 2015-11-15 18:36:38 -05:00
inet_diag.c
inet_fragment.c net: fix percpu memory leaks 2015-11-02 22:47:14 -05:00
inet_hashtables.c
inet_lro.c
inet_timewait_sock.c
inetpeer.c
ip_forward.c
ip_fragment.c net: fix percpu memory leaks 2015-11-02 22:47:14 -05:00
ip_gre.c
ip_input.c
ip_options.c
ip_output.c ipv4: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment 2015-11-01 12:01:27 -05:00
ip_sockglue.c ipv4: fix a potential deadlock in mcast getsockopt() path 2015-11-04 21:29:59 -05:00
ip_tunnel.c
ip_tunnel_core.c
ip_vti.c
ipcomp.c
ipconfig.c
ipip.c
ipmr.c net: ipmr, ip6mr: fix vif/tunnel failure race condition 2015-11-24 17:15:56 -05:00
Kconfig
Makefile
netfilter.c
ping.c
proc.c
protocol.c
raw.c raw: increment correct SNMP counters for ICMP messages 2015-11-16 15:08:48 -05:00
route.c
syncookies.c
sysctl_net_ipv4.c ipv4: disable BH when changing ip local port range 2015-11-04 21:29:06 -05:00
tcp.c tcp: ensure proper barriers in lockless contexts 2015-11-15 18:36:38 -05:00
tcp_bic.c
tcp_cdg.c
tcp_cong.c
tcp_cubic.c
tcp_dctcp.c
tcp_diag.c tcp: ensure proper barriers in lockless contexts 2015-11-15 18:36:38 -05:00
tcp_fastopen.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c tcp: fix potential huge kmalloc() calls in TCP_REPAIR 2015-11-20 10:57:33 -05:00
tcp_ipv4.c tcp: md5: fix lockdep annotation 2015-11-18 23:02:47 -05:00
tcp_lp.c
tcp_memcontrol.c
tcp_metrics.c
tcp_minisocks.c tcp: fix req->saved_syn race 2015-11-05 14:36:09 -05:00
tcp_offload.c
tcp_output.c net: make skb_set_owner_w() more robust 2015-11-02 16:28:49 -05:00
tcp_probe.c
tcp_recovery.c
tcp_scalable.c
tcp_timer.c tcp: fix Fast Open snmp over-counting bug 2015-11-20 10:51:12 -05:00
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tunnel4.c
udp.c udp: remove duplicate include 2015-11-18 14:58:02 -05:00
udp_diag.c
udp_impl.h
udp_offload.c
udp_tunnel.c
udplite.c
xfrm4_input.c
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c
xfrm4_protocol.c
xfrm4_state.c
xfrm4_tunnel.c