From 19264811a17d3f2a2b9d77d182522dc9e9f1f6f8 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Thu, 29 Jan 2009 14:19:51 +0000 Subject: [PATCH] --- yaml --- r: 133927 b: refs/heads/master c: 81705ad1b2f926d2ef15ed95074a9c1fa9fb4dc4 h: refs/heads/master i: 133925: 06cde37ef43ffa7212f8bfec3bb6dc1501329218 133923: 2da2f508837d6308df771d76a737f7c09d563aa7 133919: 861298cb0ac7a9cf16c3ce54deffc8ce3d783f52 v: v3 --- [refs] | 2 +- trunk/net/core/skbuff.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index eb72df139d33..0a2b3491be68 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 86911732d3996a9da07914b280621450111bb6da +refs/heads/master: 81705ad1b2f926d2ef15ed95074a9c1fa9fb4dc4 diff --git a/trunk/net/core/skbuff.c b/trunk/net/core/skbuff.c index f9f4065a7e9b..d386f1082ebd 100644 --- a/trunk/net/core/skbuff.c +++ b/trunk/net/core/skbuff.c @@ -2591,9 +2591,11 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb) if (skb_shinfo(p)->frag_list) goto merge; - else if (skb_headlen(skb) <= skb_gro_offset(skb) && - skb_shinfo(p)->nr_frags + skb_shinfo(skb)->nr_frags <= - MAX_SKB_FRAGS) { + else if (skb_headlen(skb) <= skb_gro_offset(skb)) { + if (skb_shinfo(p)->nr_frags + skb_shinfo(skb)->nr_frags > + MAX_SKB_FRAGS) + return -E2BIG; + skb_shinfo(skb)->frags[0].page_offset += skb_gro_offset(skb) - skb_headlen(skb); skb_shinfo(skb)->frags[0].size -=