linux-sg2042/net/core
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
..
Makefile [NETFILTER]: split net/core/netfilter.c into net/netfilter/*.c 2005-08-29 15:51:11 -07:00
datagram.c [IP]: Simplify and consolidate MSG_PEEK error handling 2006-01-03 13:10:41 -08:00
dev.c [NET]: Fix NULL pointer deref in checksum debugging. 2005-12-08 15:21:39 -08:00
dev_mcast.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
dst.c [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
dv.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ethtool.c [IPv4/IPv6]: UFO Scatter-gather approach 2005-10-28 16:30:00 -02:00
filter.c [NET]: Validate socket filters against BPF_MAXINSNS in one spot. 2005-12-27 13:57:59 -08:00
flow.c [LSM-IPSec]: Security association restriction. 2006-01-03 13:10:24 -08:00
gen_estimator.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_stats.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iovec.c [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
link_watch.c [NET]: Disable queueing when carrier is lost. 2005-05-03 16:18:52 -07:00
neighbour.c [NET]: Wider use of for_each_*cpu() 2005-10-25 23:54:01 -02:00
net-sysfs.c [NET]: Allow controlling NAPI device weight with sysfs 2005-06-08 14:55:42 -07:00
netpoll.c [NET]: Detect hardware rx checksum faults correctly 2005-11-10 13:01:24 -08:00
pktgen.c [PKTGEN]: proc interface revision 2005-10-26 00:12:18 -02:00
request_sock.c [ICSK]: Introduce reqsk_queue_prune from code in tcp_synack_timer 2005-08-29 15:49:29 -07:00
rtnetlink.c [RTNETLINK]: Use generic netlink receive queue processor 2005-11-10 02:26:40 +01:00
scm.c [PATCH] kill gratitious includes of major.h under net/* 2005-04-25 18:32:13 -07:00
skbuff.c [NET]: make function pointer argument parseable by kernel-doc 2005-12-05 13:40:12 -08:00
sock.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
stream.c [NET]: Fix race condition in sk_stream_wait_connect 2005-11-05 21:05:20 -02:00
sysctl_net_core.c [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
utils.c [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
wireless.c [PATCH] kill massive wireless-related log spam 2005-10-26 10:39:43 -07:00