diff options
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r-- | net/ipv6/ip6_output.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 32e8c3f73c79..57a326080757 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c | |||
@@ -1325,7 +1325,7 @@ int ip6_push_pending_frames(struct sock *sk) | |||
1325 | if (skb->data < skb_network_header(skb)) | 1325 | if (skb->data < skb_network_header(skb)) |
1326 | __skb_pull(skb, skb_network_offset(skb)); | 1326 | __skb_pull(skb, skb_network_offset(skb)); |
1327 | while ((tmp_skb = __skb_dequeue(&sk->sk_write_queue)) != NULL) { | 1327 | while ((tmp_skb = __skb_dequeue(&sk->sk_write_queue)) != NULL) { |
1328 | __skb_pull(tmp_skb, skb->h.raw - skb->nh.raw); | 1328 | __skb_pull(tmp_skb, skb_network_header_len(skb)); |
1329 | *tail_skb = tmp_skb; | 1329 | *tail_skb = tmp_skb; |
1330 | tail_skb = &(tmp_skb->next); | 1330 | tail_skb = &(tmp_skb->next); |
1331 | skb->len += tmp_skb->len; | 1331 | skb->len += tmp_skb->len; |
@@ -1337,7 +1337,7 @@ int ip6_push_pending_frames(struct sock *sk) | |||
1337 | } | 1337 | } |
1338 | 1338 | ||
1339 | ipv6_addr_copy(final_dst, &fl->fl6_dst); | 1339 | ipv6_addr_copy(final_dst, &fl->fl6_dst); |
1340 | __skb_pull(skb, skb->h.raw - skb->nh.raw); | 1340 | __skb_pull(skb, skb_network_header_len(skb)); |
1341 | if (opt && opt->opt_flen) | 1341 | if (opt && opt->opt_flen) |
1342 | ipv6_push_frag_opts(skb, opt, &proto); | 1342 | ipv6_push_frag_opts(skb, opt, &proto); |
1343 | if (opt && opt->opt_nflen) | 1343 | if (opt && opt->opt_nflen) |