diff options
author | David S. Miller <davem@davemloft.net> | 2010-09-10 01:27:33 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-09-10 01:27:33 -0400 |
commit | e548833df83c3554229eff0672900bfe958b45fd (patch) | |
tree | 85efc4a76dc356593d6d394776aeb845dc580fb6 /net/core/skbuff.c | |
parent | cbd9da7be869f676afc204e1a664163778c770bd (diff) | |
parent | 053d8f6622701f849fda2ca2c9ae596c13599ba9 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
net/mac80211/main.c
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r-- | net/core/skbuff.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 2d1bc761fe4b..752c1972b3a7 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -2569,6 +2569,10 @@ struct sk_buff *skb_segment(struct sk_buff *skb, int features) | |||
2569 | __copy_skb_header(nskb, skb); | 2569 | __copy_skb_header(nskb, skb); |
2570 | nskb->mac_len = skb->mac_len; | 2570 | nskb->mac_len = skb->mac_len; |
2571 | 2571 | ||
2572 | /* nskb and skb might have different headroom */ | ||
2573 | if (nskb->ip_summed == CHECKSUM_PARTIAL) | ||
2574 | nskb->csum_start += skb_headroom(nskb) - headroom; | ||
2575 | |||
2572 | skb_reset_mac_header(nskb); | 2576 | skb_reset_mac_header(nskb); |
2573 | skb_set_network_header(nskb, skb->mac_len); | 2577 | skb_set_network_header(nskb, skb->mac_len); |
2574 | nskb->transport_header = (nskb->network_header + | 2578 | nskb->transport_header = (nskb->network_header + |
@@ -2699,7 +2703,7 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb) | |||
2699 | return -E2BIG; | 2703 | return -E2BIG; |
2700 | 2704 | ||
2701 | headroom = skb_headroom(p); | 2705 | headroom = skb_headroom(p); |
2702 | nskb = netdev_alloc_skb(p->dev, headroom + skb_gro_offset(p)); | 2706 | nskb = alloc_skb(headroom + skb_gro_offset(p), GFP_ATOMIC); |
2703 | if (unlikely(!nskb)) | 2707 | if (unlikely(!nskb)) |
2704 | return -ENOMEM; | 2708 | return -ENOMEM; |
2705 | 2709 | ||