linux/net/core
Herbert Xu a030847e9f [NET]: Avoid copying TCP packets unnecessarily
TCP packets all have writable heads, that is, even though it's cloned, it is
writable up to the end of the TCP header.  This patch makes skb_checksum_help
aware of this fact by using skb_clone_writable and avoiding a copy for TCP.

I've also modified the BUG_ON tests to be unsigned.  The only case where this
makes a difference is if csum_start points to a location before skb->data.
Since skb->data should always include the header where the checksum field
is (and all currently callers adhere to that), this change is safe and may
uncover bugs later.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-15 12:26:34 -07:00
..
datagram.c [NET]: Do not dereference iov if length is zero 2007-09-11 10:29:07 +02:00
dev_mcast.c [NETNS]: Move some code into __init section when CONFIG_NET_NS=n 2007-10-10 16:54:58 -07:00
dev.c [NET]: Avoid copying TCP packets unnecessarily 2007-10-15 12:26:34 -07:00
dst.c [NET]: Make the loopback device per network namespace. 2007-10-10 16:52:49 -07:00
ethtool.c [ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls 2007-10-10 16:51:17 -07:00
fib_rules.c [IPV4/IPV6/DECNET]: Small cleanup for fib rules. 2007-10-10 16:51:22 -07:00
filter.c [SK_BUFF]: Convert skb->tail to sk_buff_data_t 2007-04-25 22:26:28 -07:00
flow.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
gen_estimator.c [NET]: gen_estimator deadlock fix 2007-07-18 01:46:50 -07:00
gen_stats.c [SK_BUFF]: Convert skb->tail to sk_buff_data_t 2007-04-25 22:26:28 -07:00
iovec.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
kmap_skb.h [PATCH] severing skbuff.h -> highmem.h 2006-12-04 02:00:29 -05:00
link_watch.c [NET] link_watch: Always schedule urgent events 2007-05-10 23:45:28 -07:00
Makefile [NET]: Fix running without sysfs 2007-10-10 16:52:46 -07:00
neighbour.c [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
net_namespace.c [NETNS]: Don't memset() netns to zero manually 2007-10-10 16:54:59 -07:00
net-sysfs.c Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
netevent.c [NET]: net/core/netevent.c should #include <net/netevent.h> 2007-07-05 17:40:27 -07:00
netpoll.c [NET]: Wrap netdevice hardware header creation. 2007-10-10 16:52:50 -07:00
pktgen.c [NET]: sparse warning fixes 2007-10-10 16:54:48 -07:00
request_sock.c [NET]: Size listen hash tables using backlog hint 2006-12-02 21:21:44 -08:00
rtnetlink.c [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
scm.c [NET]: sparse warning fixes 2007-10-10 16:54:48 -07:00
skbuff.c [NET]: Fix csum_start update in pskb_expand_head 2007-10-15 12:26:33 -07:00
sock.c net core: fix kernel-doc for new function parameters 2007-10-13 09:52:26 -07:00
stream.c [NET] CORE: Fix whitespace errors. 2007-02-10 23:19:25 -08:00
sysctl_net_core.c [XFRM]: Allow XFRM_ACQ_EXPIRES to be tunable via sysctl. 2007-05-31 01:23:23 -07:00
user_dma.c [NET]: Revert sk_buff walker cleanups. 2007-04-27 15:21:23 -07:00
utils.c [NET] net/core/utils: fix sparse warning 2007-08-07 18:02:43 -07:00