From: David S. Miller Date: Thu, 22 Jul 2010 20:27:09 +0000 (-0700) Subject: net: Fix skb_copy_expand() handling of ->csum_start X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=be2b6e62357dd7ee56bdcb05e54002afb4830292;p=deliverable%2Flinux.git net: Fix skb_copy_expand() handling of ->csum_start It should only be adjusted if ip_summed == CHECKSUM_PARTIAL. Signed-off-by: David S. Miller --- diff --git a/net/core/skbuff.c b/net/core/skbuff.c index c699159b3ede..ce88293a34e2 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -932,7 +932,8 @@ struct sk_buff *skb_copy_expand(const struct sk_buff *skb, copy_skb_header(n, skb); off = newheadroom - oldheadroom; - n->csum_start += off; + if (n->ip_summed == CHECKSUM_PARTIAL) + n->csum_start += off; #ifdef NET_SKBUFF_DATA_USES_OFFSET n->transport_header += off; n->network_header += off;