aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv6/seg6_iptunnel.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/seg6_iptunnel.c b/net/ipv6/seg6_iptunnel.c
index 5fe139484919..bf4763fd68c2 100644
--- a/net/ipv6/seg6_iptunnel.c
+++ b/net/ipv6/seg6_iptunnel.c
@@ -103,7 +103,7 @@ int seg6_do_srh_encap(struct sk_buff *skb, struct ipv6_sr_hdr *osrh, int proto)
103 hdrlen = (osrh->hdrlen + 1) << 3; 103 hdrlen = (osrh->hdrlen + 1) << 3;
104 tot_len = hdrlen + sizeof(*hdr); 104 tot_len = hdrlen + sizeof(*hdr);
105 105
106 err = skb_cow_head(skb, tot_len); 106 err = skb_cow_head(skb, tot_len + skb->mac_len);
107 if (unlikely(err)) 107 if (unlikely(err))
108 return err; 108 return err;
109 109
@@ -161,7 +161,7 @@ int seg6_do_srh_inline(struct sk_buff *skb, struct ipv6_sr_hdr *osrh)
161 161
162 hdrlen = (osrh->hdrlen + 1) << 3; 162 hdrlen = (osrh->hdrlen + 1) << 3;
163 163
164 err = skb_cow_head(skb, hdrlen); 164 err = skb_cow_head(skb, hdrlen + skb->mac_len);
165 if (unlikely(err)) 165 if (unlikely(err))
166 return err; 166 return err;
167 167