Prev: [PATCH 2/7] trace: Reorder struct ring_buffer_per_cpu to remove padding on 64bit
Next: [PATCH 2/2] perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available
From: David Miller on 22 Jul 2010 16:30 From: Andrea Shepard <andrea(a)persephoneslair.org> Date: Thu, 22 Jul 2010 12:12:35 -0700 > Make pskb_expand_head() check ip_summed to make sure csum_start is really > csum_start and not csum before adjusting it. .... > Signed-off-by: Andrea Shepard <andrea(a)persephoneslair.org> Applied, but your email client corrupted tab characters into spaces so I had to apply your patch by hand. There is a similar bug in skb_copy_expand() so I fixed that too. Thanks again. -------------------- 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 <davem(a)davemloft.net> --- net/core/skbuff.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/net/core/skbuff.c b/net/core/skbuff.c index c699159..ce88293 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; -- 1.7.1.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |