Messages in this thread | | | Date | Mon, 19 Jan 2009 12:59:41 -0800 (PST) | Subject | Re: [PATCH] tcp: splice as many packets as possible at once | From | David Miller <> |
| |
From: Herbert Xu <herbert@gondor.apana.org.au> Date: Mon, 19 Jan 2009 21:19:24 +1100
> On Sun, Jan 18, 2009 at 10:19:08PM -0800, David Miller wrote: > > > > Actually, I see, the myri10ge driver does put up to > > 64 bytes of the initial packet into the linear area. > > If the IPV4 + TCP headers are less than this, you will > > hit the corruption case even with the myri10ge driver. > > I thought splice only mapped the payload areas, no?
And the difference between 64 and IPV4+TCP header len becomes the payload, don't you see? :-)
myri10ge just pulls min(64, skb->len) bytes from the SKB frags into the linear area, unconditionally. So a small number of payload bytes can in fact end up there.
Otherwise Willy could never have triggered this bug.
| |