diff options
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r-- | net/core/skbuff.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index af9185d0be6a..d6298914f4e7 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -2853,7 +2853,7 @@ struct sk_buff *skb_segment(struct sk_buff *skb, netdev_features_t features) | |||
2853 | doffset + tnl_hlen); | 2853 | doffset + tnl_hlen); |
2854 | 2854 | ||
2855 | if (fskb != skb_shinfo(skb)->frag_list) | 2855 | if (fskb != skb_shinfo(skb)->frag_list) |
2856 | continue; | 2856 | goto perform_csum_check; |
2857 | 2857 | ||
2858 | if (!sg) { | 2858 | if (!sg) { |
2859 | nskb->ip_summed = CHECKSUM_NONE; | 2859 | nskb->ip_summed = CHECKSUM_NONE; |
@@ -2917,6 +2917,7 @@ skip_fraglist: | |||
2917 | nskb->len += nskb->data_len; | 2917 | nskb->len += nskb->data_len; |
2918 | nskb->truesize += nskb->data_len; | 2918 | nskb->truesize += nskb->data_len; |
2919 | 2919 | ||
2920 | perform_csum_check: | ||
2920 | if (!csum) { | 2921 | if (!csum) { |
2921 | nskb->csum = skb_checksum(nskb, doffset, | 2922 | nskb->csum = skb_checksum(nskb, doffset, |
2922 | nskb->len - doffset, 0); | 2923 | nskb->len - doffset, 0); |