android_kernel_samsung_msm8976/net/ipv6
Michal Kubecek 26b46b13b8 net: disable fragment reassembly if high_thresh is set to zero
commit 30759219f562cfaaebe7b9c1d1c0e6b5445c69b0 upstream.

Before commit 6d7b857d54 ("net: use lib/percpu_counter API for
fragmentation mem accounting"), setting high threshold to 0 prevented
fragment reassembly as first fragment would be always evicted before
second could be added to the queue. While inefficient, some users
apparently relied on it.

Since the commit mentioned above, a percpu counter is used for
reassembly memory accounting and high batch size avoids taking slow path
in most common scenarios. As a result, a whole full sized packet can be
reassembled without the percpu counter's main counter changing its
value so that even with high_thresh set to 0, fragmented packets can be
still reassembled and processed.

Add explicit checks preventing reassembly if high threshold is zero.

[mk] backport to 3.12

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2019-07-27 21:42:34 +02:00
..
netfilter net: disable fragment reassembly if high_thresh is set to zero 2019-07-27 21:42:34 +02:00
Kconfig
Makefile
addrconf.c ipv6: correctly add local routes when lo goes up 2019-07-27 21:42:29 +02:00
addrconf_core.c
addrlabel.c ipv6/addrlabel: fix ip6addrlbl_get() 2016-01-28 21:49:33 -08:00
af_inet6.c ipv6: don't call fib6_run_gc() until routing is ready 2019-07-27 21:42:27 +02:00
ah6.c
anycast.c ipv6: fix rtnl locking in setsockopt for anycast and multicast 2019-07-27 21:42:28 +02:00
datagram.c Merge remote-tracking branch 'f2fs/linux-3.10.y' into HEAD 2017-04-18 17:02:28 +02:00
esp6.c
exthdrs.c ipv6: add complete rcu protection around np->opt 2016-09-09 02:36:40 -07:00
exthdrs_core.c This is the 3.10.102 stable release 2017-04-18 17:22:08 +02:00
exthdrs_offload.c ipv6: fix exthdrs offload registration in out_rt path 2015-10-01 12:07:38 +02:00
fib6_rules.c
icmp.c
inet6_connection_sock.c ipv6: add complete rcu protection around np->opt 2016-09-09 02:36:40 -07:00
inet6_hashtables.c
ip6_checksum.c
ip6_fib.c ipv6: update ip6_rt_last_gc every time GC is run 2015-07-03 19:48:09 -07:00
ip6_flowlabel.c
ip6_gre.c ip6_gre: fix flowi6_proto value in ip6gre_xmit_other() 2019-07-27 21:42:29 +02:00
ip6_icmp.c
ip6_input.c ipv6: Make MLD packets to only be processed locally 2015-10-01 12:07:34 +02:00
ip6_offload.c ipv6: Check ip6_find_1stfragopt() return value properly. 2017-06-22 10:18:42 +00:00
ip6_offload.h
ip6_output.c ipv6: Check ip6_find_1stfragopt() return value properly. 2017-06-22 10:18:42 +00:00
ip6_tunnel.c ip6_tunnel: disable caching when the traffic class is inherited 2019-07-27 21:42:31 +02:00
ip6mr.c ipmr/ip6mr: Initialize the last assert time of mfc entries. 2019-07-27 21:41:54 +02:00
ipcomp6.c
ipv6_sockglue.c ipv6: add complete rcu protection around np->opt 2016-09-09 02:36:40 -07:00
mcast.c ipv6: fix rtnl locking in setsockopt for anycast and multicast 2019-07-27 21:42:28 +02:00
mip6.c
ndisc.c ipv6: don't call fib6_run_gc() until routing is ready 2019-07-27 21:42:27 +02:00
netfilter.c
output_core.c ipv6: Prevent overrun when parsing v6 header options 2017-06-07 12:31:04 +02:00
ping.c net: ping: Return EAFNOSUPPORT when appropriate. 2015-09-16 18:20:13 +05:30
proc.c
protocol.c
raw.c Import latest Samsung release 2017-04-18 03:43:52 +02:00
reassembly.c net: disable fragment reassembly if high_thresh is set to zero 2019-07-27 21:42:34 +02:00
route.c This is the 3.10.84 stable release 2015-09-30 13:25:40 +05:30
sit.c sit: correct IP protocol used in ipip6_err 2019-07-27 21:41:54 +02:00
syncookies.c ipv6: add complete rcu protection around np->opt 2016-09-09 02:36:40 -07:00
sysctl_net_ipv6.c
tcp_ipv6.c tcp: take care of truncations done by sk_filter() 2019-07-27 21:42:33 +02:00
tcpv6_offload.c
tunnel6.c
udp.c udp: properly support MSG_PEEK with truncated buffers 2017-04-27 23:58:25 -07:00
udp_impl.h
udp_offload.c ipv6: Check ip6_find_1stfragopt() return value properly. 2017-06-22 10:18:42 +00: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 xfrm: Increase the garbage collector threshold 2015-07-03 19:48:09 -07:00
xfrm6_state.c
xfrm6_tunnel.c