kernel-ark/net/ipv4
Herbert Xu 3305b80c21 [IP]: Simplify and consolidate MSG_PEEK error handling
When a packet is obtained from skb_recv_datagram with MSG_PEEK enabled
it is left on the socket receive queue.  This means that when we detect
a checksum error we have to be careful when trying to free the packet
as someone could have dequeued it in the time being.

Currently this delicate logic is duplicated three times between UDPv4,
UDPv6 and RAWv6.  This patch moves them into a one place and simplifies
the code somewhat.

This is based on a suggestion by Eric Dumazet.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-03 13:10:41 -08:00
..
ipvs [NET]: Add const markers to various variables. 2005-11-29 16:21:38 -08:00
netfilter [NETFILTER] ip_tables: NUMA-aware allocation 2006-01-03 13:10:29 -08:00
af_inet.c [IPV4] Fix EPROTONOSUPPORT error in inet_create 2005-12-02 20:43:26 -08:00
ah4.c
arp.c
datagram.c
devinet.c [IPV4]: Fix secondary IP addresses after promotion 2005-11-22 14:47:37 -08:00
esp4.c
fib_frontend.c [NETLINK]: Fix processing of fib_lookup netlink messages 2005-12-01 14:30:00 -08:00
fib_hash.c [NET]: Add const markers to various variables. 2005-11-29 16:21:38 -08:00
fib_lookup.h
fib_rules.c
fib_semantics.c [NET]: Add const markers to various variables. 2005-11-29 16:21:38 -08:00
fib_trie.c [FIB_TRIE]: Don't show local table in /proc/net/route output 2005-11-20 21:09:00 -08:00
icmp.c [NET]: Add const markers to various variables. 2005-11-29 16:21:38 -08:00
igmp.c [IGMP]: workaround for IGMP v1/v2 bug 2005-12-02 20:32:59 -08:00
inet_connection_sock.c [ICSK]: Move v4_addr2sockaddr from TCP to icsk 2006-01-03 13:10:39 -08:00
inet_diag.c [IPV6]: Introduce inet6_rsk() 2006-01-03 13:10:37 -08:00
inet_hashtables.c
inet_timewait_sock.c
inetpeer.c [IPV4]: Safer reassembly 2006-01-03 13:10:31 -08:00
ip_forward.c
ip_fragment.c [IPV4]: Safer reassembly 2006-01-03 13:10:31 -08:00
ip_gre.c [GRE]: Fix hardware checksum modification 2005-12-14 12:55:24 -08:00
ip_input.c
ip_options.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
ip_output.c [IPV4]: Safer reassembly 2006-01-03 13:10:31 -08:00
ip_sockglue.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
ipcomp.c
ipconfig.c
ipip.c
ipmr.c
Kconfig [TCP] BIC: CUBIC window growth (2.0) 2006-01-03 13:10:28 -08:00
Makefile [TCP] BIC: CUBIC window growth (2.0) 2006-01-03 13:10:28 -08:00
multipath_drr.c
multipath_random.c
multipath_rr.c
multipath_wrandom.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
multipath.c
netfilter.c
proc.c [NET]: Add const markers to various variables. 2005-11-29 16:21:38 -08:00
protocol.c
raw.c
route.c [NET]: Add const markers to various variables. 2005-11-29 16:21:38 -08:00
syncookies.c [ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops 2006-01-03 13:10:38 -08:00
sysctl_net_ipv4.c [IPV4]: Safer reassembly 2006-01-03 13:10:31 -08:00
tcp_bic.c [TCP] BIC: spelling and whitespace 2006-01-03 13:10:27 -08:00
tcp_cong.c [TCP]: Appropriate Byte Count support 2005-11-10 17:09:53 -08:00
tcp_cubic.c [TCP] BIC: CUBIC window growth (2.0) 2006-01-03 13:10:28 -08:00
tcp_diag.c
tcp_highspeed.c [TCP]: TCP highspeed build error 2005-11-17 14:11:18 -08:00
tcp_htcp.c [TCP]: add tcp_slow_start helper 2005-11-10 17:07:24 -08:00
tcp_hybla.c [TCP]: fix congestion window update when using TSO deferal 2005-11-10 16:53:30 -08:00
tcp_input.c [ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops 2006-01-03 13:10:38 -08:00
tcp_ipv4.c [ICSK]: Move v4_addr2sockaddr from TCP to icsk 2006-01-03 13:10:39 -08:00
tcp_minisocks.c [ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops 2006-01-03 13:10:38 -08:00
tcp_output.c [ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops 2006-01-03 13:10:38 -08:00
tcp_scalable.c [TCP]: add tcp_slow_start helper 2005-11-10 17:07:24 -08:00
tcp_timer.c [TCP]: spelling fixes 2005-11-10 17:13:47 -08:00
tcp_vegas.c [TCP] Vegas: Remove extra call to tcp_vegas_rtt_calc 2005-12-06 16:17:11 -08:00
tcp_westwood.c
tcp.c [ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops 2006-01-03 13:10:38 -08:00
udp.c [IP]: Simplify and consolidate MSG_PEEK error handling 2006-01-03 13:10:41 -08:00
xfrm4_input.c
xfrm4_output.c
xfrm4_policy.c [XFRM]: Handle DCCP in xfrm{4,6}_decode_session 2005-12-19 14:03:46 -08:00
xfrm4_state.c
xfrm4_tunnel.c