On Thu, May 12, 2011 at 04:43:22PM -0700, Stephen Hemminger wrote: > > > There were two more follow on commits in stable related to this. > > > I recommend merging 2.6.38.6 which includes these. > > > > The problem still exists in the current 2.6.38.6. Backing out 5f1c356a > > still solves the problem there. > > > > I have not yet tried anything outside the stable-2.6.38.y tree, but it > > seems like these same changes are present there, and it's unlikely that > > other releases will work any better. > > Does this fix the problem? The tap driver allocates an skb and throws > it into the receive path, but the skb does not have the same padding > as normal skb's received. > > --- a/drivers/net/tun.c 2011-05-12 16:36:15.231347935 -0700 > +++ b/drivers/net/tun.c 2011-05-12 16:36:38.503464573 -0700 > @@ -614,7 +614,7 @@ static __inline__ ssize_t tun_get_user(s > } > > if ((tun->flags & TUN_TYPE_MASK) == TUN_TAP_DEV) { > - align = NET_IP_ALIGN; > + align = NET_IP_ALIGN + NET_SKB_PAD; > if (unlikely(len < ETH_HLEN || > (gso.hdr_len && gso.hdr_len < ETH_HLEN))) > return -EINVAL; >
Sorry, this does not fix the problem. noah
signature.asc
Description: Digital signature