[PATCH 3.18 02/19] gre: Set inner mac header in gro complete

From: Greg Kroah-Hartman
Date: Sun Dec 14 2014 - 15:40:39 EST

3.18-stable review patch. If anyone has any objections, please let me know.


From: Tom Herbert <therbert@xxxxxxxxxx>

[ Upstream commit 6fb2a756739aa507c1fd5b8126f0bfc2f070dc46 ]

Set the inner mac header to point to the GRE payload when
doing GRO. This is needed if we proceed to send the packet
through GRE GSO which now uses the inner mac header instead
of inner network header to determine the length of encapsulation

Fixes: 14051f0452a2 ("gre: Use inner mac length when computing tunnel length")
Reported-by: Wolfgang Walter <linux@xxxxxxx>
Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
net/ipv4/gre_offload.c | 3 +++
1 file changed, 3 insertions(+)

--- a/net/ipv4/gre_offload.c
+++ b/net/ipv4/gre_offload.c
@@ -247,6 +247,9 @@ static int gre_gro_complete(struct sk_bu
err = ptype->callbacks.gro_complete(skb, nhoff + grehlen);

+ skb_set_inner_mac_header(skb, nhoff + grehlen);
return err;

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/