netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [NET]: Add missing UFO initialisations
@ 2006-07-13  9:11 Herbert Xu
  2006-07-14  5:04 ` David Miller
  0 siblings, 1 reply; 3+ messages in thread
From: Herbert Xu @ 2006-07-13  9:11 UTC (permalink / raw)
  To: stable, David S. Miller, netdev

Hi:

This is only needed for 2.6.17-stable.

[NET]: Add missing UFO initialisations

This bug was unknowingly fixed the GSO patches (or rather, its effect was
unknown at the time).

Thanks to Marco Berizzi's persistence which is documented in the thread
"ipsec tunnel asymmetrical mtu", we now know that it can have highly
non-obvious symptoms.

What happens is that uninitialised uso_size fields can cause packets to
be incorrectly identified as UFO, which means that it does not get
fragmented even if it's over the MTU.

The fix is simple enough.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff --git a/net/core/dev.c b/net/core/dev.c
index 4fba549..7d472ed 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1246,6 +1246,7 @@ int __skb_linearize(struct sk_buff *skb,
 	atomic_set(&ninfo->dataref, 1);
 	ninfo->tso_size = skb_shinfo(skb)->tso_size;
 	ninfo->tso_segs = skb_shinfo(skb)->tso_segs;
+	ninfo->ufo_size = skb_shinfo(skb)->ufo_size;
 	ninfo->nr_frags = 0;
 	ninfo->frag_list = NULL;
 
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index fb3770f..0280535 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -240,6 +240,7 @@ struct sk_buff *alloc_skb_from_cache(kme
 	skb_shinfo(skb)->nr_frags  = 0;
 	skb_shinfo(skb)->tso_size = 0;
 	skb_shinfo(skb)->tso_segs = 0;
+	skb_shinfo(skb)->ufo_size = 0;
 	skb_shinfo(skb)->frag_list = NULL;
 out:
 	return skb;
@@ -529,6 +530,7 @@ #endif
 	atomic_set(&new->users, 1);
 	skb_shinfo(new)->tso_size = skb_shinfo(old)->tso_size;
 	skb_shinfo(new)->tso_segs = skb_shinfo(old)->tso_segs;
+	skb_shinfo(new)->ufo_size = skb_shinfo(old)->ufo_size;
 }
 
 /**

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [NET]: Add missing UFO initialisations
  2006-07-13  9:11 [NET]: Add missing UFO initialisations Herbert Xu
@ 2006-07-14  5:04 ` David Miller
  2006-07-17 15:26   ` [stable] " Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: David Miller @ 2006-07-14  5:04 UTC (permalink / raw)
  To: herbert; +Cc: stable, netdev

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Thu, 13 Jul 2006 19:11:01 +1000

> [NET]: Add missing UFO initialisations
> 
> This bug was unknowingly fixed the GSO patches (or rather, its effect was
> unknown at the time).
> 
> Thanks to Marco Berizzi's persistence which is documented in the thread
> "ipsec tunnel asymmetrical mtu", we now know that it can have highly
> non-obvious symptoms.
> 
> What happens is that uninitialised uso_size fields can cause packets to
> be incorrectly identified as UFO, which means that it does not get
> fragmented even if it's over the MTU.
> 
> The fix is simple enough.
> 
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Signed-off-by: David S. Miller <davem@davemloft.net>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [stable] [NET]: Add missing UFO initialisations
  2006-07-14  5:04 ` David Miller
@ 2006-07-17 15:26   ` Greg KH
  0 siblings, 0 replies; 3+ messages in thread
From: Greg KH @ 2006-07-17 15:26 UTC (permalink / raw)
  To: David Miller; +Cc: herbert, netdev, stable

On Thu, Jul 13, 2006 at 10:04:34PM -0700, David Miller wrote:
> From: Herbert Xu <herbert@gondor.apana.org.au>
> Date: Thu, 13 Jul 2006 19:11:01 +1000
> 
> > [NET]: Add missing UFO initialisations
> > 
> > This bug was unknowingly fixed the GSO patches (or rather, its effect was
> > unknown at the time).
> > 
> > Thanks to Marco Berizzi's persistence which is documented in the thread
> > "ipsec tunnel asymmetrical mtu", we now know that it can have highly
> > non-obvious symptoms.
> > 
> > What happens is that uninitialised uso_size fields can cause packets to
> > be incorrectly identified as UFO, which means that it does not get
> > fragmented even if it's over the MTU.
> > 
> > The fix is simple enough.
> > 
> > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
> 
> Signed-off-by: David S. Miller <davem@davemloft.net>

Queued to -stable, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-07-17 15:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-13  9:11 [NET]: Add missing UFO initialisations Herbert Xu
2006-07-14  5:04 ` David Miller
2006-07-17 15:26   ` [stable] " Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).