Re: [PATCH] sky2: make sure ethernet header is in transmit skb
From: Stephen Hemminger <hidden>
Date: 2010-01-04 16:41:55
Also in:
lkml
On Sun, 03 Jan 2010 21:32:58 -0800 (PST) David Miller [off-list ref] wrote:
From: David Miller <davem@davemloft.net> Date: Sat, 26 Dec 2009 20:11:07 -0800 (PST)quoted
From: David Miller <davem@davemloft.net> Date: Sat, 26 Dec 2009 19:44:18 -0800 (PST)quoted
From: Stephen Hemminger <redacted> Date: Sat, 26 Dec 2009 14:05:44 -0800quoted
Other drivers may have same problem, I really think this ought to be done at higher level.I tend to agree with you, and I thought we had handled all cases. Let's simply make AF_PACKET linearize the link level header before sending things out to the transmit path. I can work on this if you want.Actually Stephen, I took a look and I can't see how AF_PACKET can create this situation. It always copies into the linear area of the SKB it allocates for sendmsg() processing. Whether the data comes from sendmsg data or the mmap() ring buffer.Stephen can you get a backtrace of the code path which triggers this? I want to fix it at a higher level too, but I can't do that until I know where it actually happens.
Ignore it, the problem is outside the sky2 driver in some other place causing corrupt skb's. I never reproduced this (with added BUG_ON and WARN_ON), only seen by Michael.