diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2007-04-10 23:46:21 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:24:47 -0400 |
commit | e2d1bca7e6134671bcb19810d004a252aa6a644d (patch) | |
tree | 5d8ee962cd69cd886aaedff8ac253590a985dd1c /net/ipv4/ip_output.c | |
parent | c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce (diff) |
[SK_BUFF]: Use skb_reset_network_header in skb_push cases
skb_push updates and returns skb->data, so we can just call
skb_reset_network_header after the call to skb_push.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
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); |