Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1946295AbXBCCpS (ORCPT ); Fri, 2 Feb 2007 21:45:18 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1946285AbXBCCpB (ORCPT ); Fri, 2 Feb 2007 21:45:01 -0500 Received: from 216-99-217-87.dsl.aracnet.com ([216.99.217.87]:36755 "EHLO sous-sol.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1946280AbXBCCow (ORCPT ); Fri, 2 Feb 2007 21:44:52 -0500 Message-Id: <20070203024640.155006000@sous-sol.org> References: <20070203023504.435051000@sous-sol.org> User-Agent: quilt/0.45-1 Date: Fri, 02 Feb 2007 18:35:57 -0800 From: Chris Wright To: linux-kernel@vger.kernel.org, stable@kernel.org Cc: Justin Forbes , Zwane Mwaikambo , "Theodore Ts'o" , Randy Dunlap , Dave Jones , Chuck Wolber , Chris Wedgwood , Michael Krufky , torvalds@linux-foundation.org, akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk, David Miller , bunk@stusta.de, Jarek Poplawski , Herbert Xu Subject: [patch 53/59] TCP: rare bad TCP checksum with 2.6.19 Content-Disposition: inline; filename=tcp-rare-bad-tcp-checksum-with-2.6.19.patch Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1481 Lines: 40 -stable review patch. If anyone has any objections, please let us know. ------------------ From: Jarek Poplawski The patch "Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE" changed to unconditional copying of ip_summed field from collapsed skb. This patch reverts this change. The majority of substantial work including heavy testing and diagnosing by: Michael Tokarev Possible reasons pointed by: Herbert Xu and Patrick McHardy. Signed-off-by: Jarek Poplawski Acked-by: Herbert Xu Signed-off-by: David S. Miller Signed-off-by: Chris Wright --- net/ipv4/tcp_output.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- linux-2.6.19.2.orig/net/ipv4/tcp_output.c +++ linux-2.6.19.2/net/ipv4/tcp_output.c @@ -1590,7 +1590,8 @@ static void tcp_retrans_try_collapse(str memcpy(skb_put(skb, next_skb_size), next_skb->data, next_skb_size); - skb->ip_summed = next_skb->ip_summed; + if (next_skb->ip_summed == CHECKSUM_PARTIAL) + skb->ip_summed = CHECKSUM_PARTIAL; if (skb->ip_summed != CHECKSUM_PARTIAL) skb->csum = csum_block_add(skb->csum, next_skb->csum, skb_size); -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/