]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Add GRE checksum fix, fwd from DaveM
authorChris Wright <chrisw@redhat.com>
Wed, 21 Dec 2005 19:23:52 +0000 (11:23 -0800)
committerChris Wright <chrisw@redhat.com>
Wed, 21 Dec 2005 19:23:52 +0000 (11:23 -0800)
queue/gre-fix-hardware-checksum-modification.patch [new file with mode: 0644]
queue/series

diff --git a/queue/gre-fix-hardware-checksum-modification.patch b/queue/gre-fix-hardware-checksum-modification.patch
new file mode 100644 (file)
index 0000000..2653860
--- /dev/null
@@ -0,0 +1,35 @@
+From chrisw@osdl.org  Wed Dec 21 09:28:13 2005
+Date: Wed, 14 Dec 2005 13:02:35 -0800 (PST)
+Message-Id: <20051214.130235.21310957.davem@davemloft.net>
+To: stable@kernel.org
+From: "David S. Miller" <davem@davemloft.net>
+Cc: herbert@gondor.apana.org.au
+Subject: [GRE]: Fix hardware checksum modification
+
+From: Herbert Xu <herbert@gondor.apana.org.au>
+
+The skb_postpull_rcsum introduced a bug to the checksum modification.
+Although the length pulled is offset bytes, the origin of the pulling
+is the GRE header, not the IP header.
+
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Chris Wright <chrisw@redhat.com>
+---
+
+ net/ipv4/ip_gre.c |    2 +-
+ 1 files changed, 1 insertion(+), 1 deletion(-)
+
+Index: linux-2.6.14.y/net/ipv4/ip_gre.c
+===================================================================
+--- linux-2.6.14.y.orig/net/ipv4/ip_gre.c
++++ linux-2.6.14.y/net/ipv4/ip_gre.c
+@@ -617,7 +617,7 @@ static int ipgre_rcv(struct sk_buff *skb
+               skb->mac.raw = skb->nh.raw;
+               skb->nh.raw = __pskb_pull(skb, offset);
+-              skb_postpull_rcsum(skb, skb->mac.raw, offset);
++              skb_postpull_rcsum(skb, skb->h.raw, offset);
+               memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options));
+               skb->pkt_type = PACKET_HOST;
+ #ifdef CONFIG_NET_IPGRE_BROADCAST
index f98e4d8b776f5e4af7452b54f3231cb9d7920f91..074bfc4adac5a529ef30a1732871185a88ed1c68 100644 (file)
@@ -4,3 +4,4 @@ fix-cta_proto_num-attribute-size-in-ctnetlink.patch
 fix-unbalanced-read_unlock_bh-in-ctnetlink.patch
 acpi-fix-null-deref-in-video-lcd-brightness.patch
 dpt_i2o-fix-for-deadlock-condition.patch
+gre-fix-hardware-checksum-modification.patch