diff options
Diffstat (limited to 'net/core/skbuff.c')
| -rw-r--r-- | net/core/skbuff.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index b9e85e6cb26a..bf92824af3f7 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
| @@ -2885,6 +2885,7 @@ struct sk_buff *skb_segment(struct sk_buff *head_skb, | |||
| 2885 | int pos; | 2885 | int pos; |
| 2886 | int dummy; | 2886 | int dummy; |
| 2887 | 2887 | ||
| 2888 | __skb_push(head_skb, doffset); | ||
| 2888 | proto = skb_network_protocol(head_skb, &dummy); | 2889 | proto = skb_network_protocol(head_skb, &dummy); |
| 2889 | if (unlikely(!proto)) | 2890 | if (unlikely(!proto)) |
| 2890 | return ERR_PTR(-EINVAL); | 2891 | return ERR_PTR(-EINVAL); |
| @@ -2892,7 +2893,6 @@ struct sk_buff *skb_segment(struct sk_buff *head_skb, | |||
| 2892 | csum = !head_skb->encap_hdr_csum && | 2893 | csum = !head_skb->encap_hdr_csum && |
| 2893 | !!can_checksum_protocol(features, proto); | 2894 | !!can_checksum_protocol(features, proto); |
| 2894 | 2895 | ||
| 2895 | __skb_push(head_skb, doffset); | ||
| 2896 | headroom = skb_headroom(head_skb); | 2896 | headroom = skb_headroom(head_skb); |
| 2897 | pos = skb_headlen(head_skb); | 2897 | pos = skb_headlen(head_skb); |
| 2898 | 2898 | ||
