Message ID | 20090329020701.GA9983@gondor.apana.org.au |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Sun, 29 Mar 2009 10:07:01 +0800 > gso: Fix support for linear packets > > When GRO/frag_list support was added to GSO, I made an error > which broke the support for segmenting linear GSO packets (GSO > packets are normally non-linear in the payload). > > These days most of these packets are constructed by the tun > driver, which prefers to allocate linear memory if possible. > This is fixed in the latest kernel, but for 2.6.29 and earlier > it is still the norm. > > Therefore this bug causes failures with GSO when used with tun > in 2.6.29. > > Reported-by: James Huang <jamesclhuang@gmail.com> > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sat, 2009-03-28 at 23:39 -0700, David Miller wrote: > From: Herbert Xu <herbert@gondor.apana.org.au> > Date: Sun, 29 Mar 2009 10:07:01 +0800 > > > gso: Fix support for linear packets > > > > When GRO/frag_list support was added to GSO, I made an error > > which broke the support for segmenting linear GSO packets (GSO > > packets are normally non-linear in the payload). > > > > These days most of these packets are constructed by the tun > > driver, which prefers to allocate linear memory if possible. > > This is fixed in the latest kernel, but for 2.6.29 and earlier > > it is still the norm. > > > > Therefore this bug causes failures with GSO when used with tun > > in 2.6.29. > > > > Reported-by: James Huang <jamesclhuang@gmail.com> > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> > > Applied, thanks. This is needed in -stable too, fwiw. Fixes e.g. virtio guest->remote with 2.6.29 host: https://bugzilla.redhat.com/490266 Cheers, Mark. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Mark McLoughlin <markmc@redhat.com> Date: Mon, 30 Mar 2009 09:50:45 +0100 > On Sat, 2009-03-28 at 23:39 -0700, David Miller wrote: > > From: Herbert Xu <herbert@gondor.apana.org.au> > > Date: Sun, 29 Mar 2009 10:07:01 +0800 > > > > > gso: Fix support for linear packets > > > > > > When GRO/frag_list support was added to GSO, I made an error > > > which broke the support for segmenting linear GSO packets (GSO > > > packets are normally non-linear in the payload). > > > > > > These days most of these packets are constructed by the tun > > > driver, which prefers to allocate linear memory if possible. > > > This is fixed in the latest kernel, but for 2.6.29 and earlier > > > it is still the norm. > > > > > > Therefore this bug causes failures with GSO when used with tun > > > in 2.6.29. > > > > > > Reported-by: James Huang <jamesclhuang@gmail.com> > > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> > > > > Applied, thanks. > > This is needed in -stable too, fwiw. Fixes e.g. virtio guest->remote > with 2.6.29 host: > > https://bugzilla.redhat.com/490266 I know, I'll queue it up. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 2009-03-30 at 13:57 -0700, David Miller wrote: > From: Mark McLoughlin <markmc@redhat.com> > Date: Mon, 30 Mar 2009 09:50:45 +0100 > > > On Sat, 2009-03-28 at 23:39 -0700, David Miller wrote: > > > From: Herbert Xu <herbert@gondor.apana.org.au> > > > Date: Sun, 29 Mar 2009 10:07:01 +0800 > > > > > > > gso: Fix support for linear packets > > > > > > > > When GRO/frag_list support was added to GSO, I made an error > > > > which broke the support for segmenting linear GSO packets (GSO > > > > packets are normally non-linear in the payload). > > > > > > > > These days most of these packets are constructed by the tun > > > > driver, which prefers to allocate linear memory if possible. > > > > This is fixed in the latest kernel, but for 2.6.29 and earlier > > > > it is still the norm. > > > > > > > > Therefore this bug causes failures with GSO when used with tun > > > > in 2.6.29. > > > > > > > > Reported-by: James Huang <jamesclhuang@gmail.com> > > > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> > > > > > > Applied, thanks. > > > > This is needed in -stable too, fwiw. Fixes e.g. virtio guest->remote > > with 2.6.29 host: > > > > https://bugzilla.redhat.com/490266 > > I know, I'll queue it up. This hasn't made it yet? Just had another report on kvm list about it. (Can't seem to find anywhere to check whether it's queued) Cheers, Mark. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Mark McLoughlin <markmc@redhat.com> Date: Mon, 20 Apr 2009 12:12:10 +0100 > On Mon, 2009-03-30 at 13:57 -0700, David Miller wrote: >> I know, I'll queue it up. > > This hasn't made it yet? Just had another report on kvm list about it. > > (Can't seem to find anywhere to check whether it's queued) Sorry, it's in my backlog, I'll take care of it tomorr.w -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 6acbf9e..ce6356c 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -2579,7 +2579,7 @@ struct sk_buff *skb_segment(struct sk_buff *skb, int features) skb_network_header_len(skb)); skb_copy_from_linear_data(skb, nskb->data, doffset); - if (pos >= offset + len) + if (fskb != skb_shinfo(skb)->frag_list) continue; if (!sg) {