diff options
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 32f1a23a80f9..d329718a8e8c 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -503,7 +503,8 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*)) | |||
503 | if (frag) { | 503 | if (frag) { |
504 | frag->ip_summed = CHECKSUM_NONE; | 504 | frag->ip_summed = CHECKSUM_NONE; |
505 | frag->h.raw = frag->data; | 505 | frag->h.raw = frag->data; |
506 | frag->nh.raw = __skb_push(frag, hlen); | 506 | __skb_push(frag, hlen); |
507 | skb_reset_network_header(frag); | ||
507 | memcpy(frag->nh.raw, iph, hlen); | 508 | memcpy(frag->nh.raw, iph, hlen); |
508 | iph = frag->nh.iph; | 509 | iph = frag->nh.iph; |
509 | iph->tot_len = htons(frag->len); | 510 | iph->tot_len = htons(frag->len); |