summaryrefslogtreecommitdiff
path: root/net/core/skbuff.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-01-27 00:49:30 +0300
committerDavid S. Miller <davem@davemloft.net>2011-01-27 00:49:30 +0300
commitb4e69ac670d71b5748dc81e536b2cb103489badd (patch)
tree26a04ba5d950657132fd6acb4e0ef17d0bcabe93 /net/core/skbuff.c
parent144ce879b057c760194d808c90826cd96308f423 (diff)
parent7cc2edb83447775a34ed3bf9d29d8295a434b523 (diff)
downloadlinux-b4e69ac670d71b5748dc81e536b2cb103489badd.tar.xz
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.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 436c4c439240..a8b1e3c70d23 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;
}