android_kernel_google_msm/net/ipv6
Eric Dumazet cc354dd458 udp: fix behavior of wrong checksums
We have two problems in UDP stack related to bogus checksums :

1) We return -EAGAIN to application even if receive queue is not empty.
   This breaks applications using edge trigger epoll()

2) Under UDP flood, we can loop forever without yielding to other
   processes, potentially hanging the host, especially on non SMP.

This patch is an attempt to make things better.

We might in the future add extra support for rt applications
wanting to better control time spent doing a recv() in a hostile
environment. For example we could validate checksums before queuing
packets in socket receive queue.

Change-Id: I9355321ac7ee564d56c342fa7738b918052bf308
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-10-29 23:12:10 +08:00
..
netfilter Merge commit 'v3.4-rc3' into android-3.4 2012-04-19 14:42:22 -07:00
addrconf.c ipv6: sysctl to restrict candidate source addresses 2015-07-29 13:59:11 +09:00
addrconf_core.c
addrlabel.c
af_inet6.c ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
ah6.c
anycast.c
datagram.c ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
esp6.c
exthdrs.c ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
exthdrs_core.c
fib6_rules.c
icmp.c net: add a sysctl to reflect the fwmark on replies 2014-05-12 22:39:57 -07:00
inet6_connection_sock.c ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
inet6_hashtables.c
ip6_fib.c ipv6: fix problem with expired dst cache 2012-04-13 12:58:29 -04:00
ip6_flowlabel.c
ip6_input.c
ip6_output.c ipv6: Enable new mode proxy_ndp == 2 2013-02-25 11:36:58 -08:00
ip6_tunnel.c
ip6mr.c
ipcomp6.c
ipv6_sockglue.c ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
Kconfig
Makefile net: ipv6: Add IPv6 support to the ping socket. 2013-08-21 13:34:09 +09:00
mcast.c ipv6: fix array index in ip6_mc_add_src() 2012-04-05 00:00:42 -04:00
mip6.c
ndisc.c ipv6: fix problem with expired dst cache 2012-04-13 12:58:29 -04:00
netfilter.c
ping.c net: ping: Return EAFNOSUPPORT when appropriate. 2015-05-20 15:24:04 +09:00
proc.c
protocol.c
raw.c ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
reassembly.c
route.c Set the iif for IPv6 packets as well. 2015-05-20 15:36:18 +09:00
sit.c
syncookies.c ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
sysctl_net_ipv6.c net: add a sysctl to reflect the fwmark on replies 2014-05-12 22:39:57 -07:00
tcp_ipv6.c ipv6: add complete rcu protection around np->opt 2016-06-17 02:54:32 +00:00
tunnel6.c
udp.c udp: fix behavior of wrong checksums 2016-10-29 23:12:10 +08:00
udp_impl.h
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
xfrm6_state.c
xfrm6_tunnel.c