diff options
author | David S. Miller <davem@davemloft.net> | 2011-01-26 13:49:30 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-01-26 13:49:30 -0800 |
commit | b4e69ac670d71b5748dc81e536b2cb103489badd (patch) | |
tree | 26a04ba5d950657132fd6acb4e0ef17d0bcabe93 /net/core/skbuff.c | |
parent | 144ce879b057c760194d808c90826cd96308f423 (diff) | |
parent | 7cc2edb83447775a34ed3bf9d29d8295a434b523 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r-- | net/core/skbuff.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 436c4c43924..a8b1e3c70d2 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -2744,8 +2744,12 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb) merge: if (offset > headlen) { - skbinfo->frags[0].page_offset += offset - headlen; - skbinfo->frags[0].size -= offset - headlen; + unsigned int eat = offset - headlen; + + skbinfo->frags[0].page_offset += eat; + skbinfo->frags[0].size -= eat; + skb->data_len -= eat; + skb->len -= eat; offset = headlen; } |