From: Michael Chan <mchan@broadcom.com>
Date: Tue, 4 Jul 2006 02:41:11 +0000 (-0700)
Subject: [IPV6]: Fix ipv6 GSO payload length
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=6703931c546e6dec0431776fa616d5accd3e7162;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

[IPV6]: Fix ipv6 GSO payload length

Fix ipv6 GSO payload length calculation.

The ipv6 payload length excludes the ipv6 base header length and so
must be subtracted.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
index ec59344478d2..0c17dec11c8d 100644
--- a/net/ipv6/ipv6_sockglue.c
+++ b/net/ipv6/ipv6_sockglue.c
@@ -119,7 +119,8 @@ unlock:
 
 	for (skb = segs; skb; skb = skb->next) {
 		ipv6h = skb->nh.ipv6h;
-		ipv6h->payload_len = htons(skb->len - skb->mac_len);
+		ipv6h->payload_len = htons(skb->len - skb->mac_len -
+					   sizeof(*ipv6h));
 	}
 
 out: