Re: [PATCH net-2.6] net_sched: always clone skbs

Eric Dumazet
2010-12-20T23:28:20Z

Le mardi 21 décembre 2010 à 00:20 +0100, Jarek Poplawski a écrit :
> On Mon, Dec 20, 2010 at 10:35:30PM +0800, Changli Gao wrote:
> > Pawel reported a panic related to handling shared skbs in ixgbe
> > incorrectly. So we need to revert my previous patch to work around
> > this bug. Instead of reverting the patch completely, I just revert
> > the essential lines, so we can add the previous optimization
> > back more easily in future.
> >
> > commit 3511c9132f8b1e1b5634e41a3331c44b0c13be70
> > Author: Changli Gao <xiaosuo@gmail.com>
> > Date: Sat Oct 16 13:04:08 2010 +0000
> >
> > net_sched: remove the unused parameter of qdisc_create_dflt()
> >
>
> Isn't there some mistake in the commit number? IMHO this changelog is
> mostly wrong. The bug happens outside of ixgbe, probably in
> dev_hard_start_xmit() -> __skb_linearize(), and even if not, it can,
> without any driver's fault. The only question is why it didn't triger
> with 2.6.36.
>

Indeed, commit number is wrong. It was :

commit 210d6de78c5d7c785fc532556cea340e517955e1
Author: Changli Gao <xiaosuo@gmail.com>
Date: Thu Jun 24 16:25:12 2010 +0000

act_mirred: don't clone skb when skb isn't shared

It triggers now because GRO might be default to on now.

commit 6a08d194ee40806e0ccd5f36ed768e64cbfc979f
e1000: use GRO for receive

(or other various GRO patches)