From ca06857ef611ba0c80a1105154c7846b30c1dd2b Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sun, 29 Oct 2006 15:59:41 -0800 Subject: [PATCH] --- yaml --- r: 40528 b: refs/heads/master c: c8884edd078748905552d667857259e5358e1232 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/core/skbuff.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 263b9c95bf56..c19e2b1919dc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 54489c14c058822f7019648b3718bd3820dee802 +refs/heads/master: c8884edd078748905552d667857259e5358e1232 diff --git a/trunk/net/core/skbuff.c b/trunk/net/core/skbuff.c index 3c23760c5827..f735455dc5d1 100644 --- a/trunk/net/core/skbuff.c +++ b/trunk/net/core/skbuff.c @@ -1946,7 +1946,7 @@ struct sk_buff *skb_segment(struct sk_buff *skb, int features) do { struct sk_buff *nskb; skb_frag_t *frag; - int hsize, nsize; + int hsize; int k; int size; @@ -1957,11 +1957,10 @@ struct sk_buff *skb_segment(struct sk_buff *skb, int features) hsize = skb_headlen(skb) - offset; if (hsize < 0) hsize = 0; - nsize = hsize + doffset; - if (nsize > len + doffset || !sg) - nsize = len + doffset; + if (hsize > len || !sg) + hsize = len; - nskb = alloc_skb(nsize + headroom, GFP_ATOMIC); + nskb = alloc_skb(hsize + doffset + headroom, GFP_ATOMIC); if (unlikely(!nskb)) goto err;