tmp_suning_uos_patched/net/ipv4
Jarek Poplawski 7b85576d15 ipv4: Fix fib_trie rebalancing, part 2
My previous patch, which explicitly delays freeing of tnodes by adding
them to the list to flush them after the update is finished, isn't
strict enough. It treats exceptionally tnodes without parent, assuming
they are newly created, so "invisible" for the read side yet.

But the top tnode doesn't have parent as well, so we have to exclude
all exceptions (at least until a better way is found). Additionally we
need to move rcu assignment of this node before flushing, so the
return type of the trie_rebalance() function is changed.

Reported-by: Yan Zheng <zheng.yan@oracle.com>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-18 00:28:51 -07:00
..
netfilter netfilter: ip_tables: fix build error 2009-06-12 01:53:09 +02:00
af_inet.c ipv4: remove ip_mc_drop_socket() declaration from af_inet.c. 2009-06-03 21:43:26 -07:00
ah4.c
arp.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
cipso_ipv4.c
datagram.c
devinet.c net: Fix devinet_sysctl_forward 2009-05-18 22:15:58 -07:00
esp4.c
fib_frontend.c
fib_hash.c
fib_lookup.h
fib_rules.c net: Remove unused parameter from fill method in fib_rules_ops. 2009-05-20 17:26:23 -07:00
fib_semantics.c
fib_trie.c ipv4: Fix fib_trie rebalancing, part 2 2009-06-18 00:28:51 -07:00
icmp.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
igmp.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
inet_connection_sock.c
inet_diag.c
inet_fragment.c
inet_hashtables.c
inet_lro.c
inet_timewait_sock.c
inetpeer.c
ip_forward.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ip_fragment.c ipv4: Use frag list abstraction interfaces. 2009-06-09 00:19:37 -07:00
ip_gre.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ip_input.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ip_options.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ip_output.c net: No more expensive sock_hold()/sock_put() on each tx 2009-06-11 02:55:43 -07:00
ip_sockglue.c net: skb->rtable accessor 2009-06-03 02:51:02 -07:00
ipcomp.c
ipconfig.c ipv4: teach ipconfig about the MTU option in DHCP 2009-05-19 15:36:17 -07:00
ipip.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
ipmr.c PIM-SM: namespace changes 2009-06-14 03:16:13 -07:00
Kconfig ipv4: update ARPD help text 2009-06-13 23:36:32 -07:00
Makefile
netfilter.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
proc.c
protocol.c
raw.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
route.c net: use a deferred timer in rt_check_expire 2009-06-13 23:36:31 -07:00
syncookies.c
sysctl_net_ipv4.c
tcp_bic.c
tcp_cong.c
tcp_cubic.c
tcp_diag.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c tcp: fix loop in ofo handling code and reduce its complexity 2009-05-29 15:02:29 -07:00
tcp_ipv4.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
tcp_lp.c
tcp_minisocks.c
tcp_output.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c
tcp_vegas.c tcp: tcp_vegas ssthresh bugfix 2009-05-25 22:44:59 -07:00
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tcp.c tcp: Use SKB queue and list helpers instead of doing it by-hand. 2009-05-28 21:35:47 -07:00
tunnel4.c
udp_impl.h
udp.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
udplite.c
xfrm4_input.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
xfrm4_output.c net: skb->dst accessors 2009-06-03 02:51:04 -07:00
xfrm4_policy.c
xfrm4_state.c
xfrm4_tunnel.c