Messages in this thread | | | Date | Tue, 3 May 2011 18:57:51 +0200 | From | L. Alberto Giménez <> | Subject | Re: [PATCH] ipheth.c: Enable IP header alignment |
| |
On Mon, May 02, 2011 at 10:04:34PM +0100, Ben Hutchings wrote: > So this was using NET_IP_ALIGN as an offset into the URB. Which was > totally bogus, as its value has long been architecture-dependent. The > code is also claiming to put len bytes but only copying len - delta. > > The correct code would be something like: > > if (urb->actual_length <= IPHETH_IP_ALIGN) { > dev->net->stats.rx_length_errors++; > return; > } > len = urb->actual_length - IPHETH_IP_ALIGN; > buf = urb->transfer_buffer + IPHETH_IP_ALIGN; > > dev_alloc_skb(len); > ... > memcpy(skb_put(skb, len), buf, len);
Thanks for the response Ben.
I can try to change the code, but I don't own the device anymore. Changing the code without being able to test it would be walking blindfolded :-/
If upstrem (everyone involved is in CC) can't do it, I can submit the changes advised by Ben, but I can't warantee anything beyond successful compilation. I don't think that it would be acceptable here.
Regards, -- L. Alberto Giménez JabberID agimenez@jabber.sysvalve.es GnuPG key ID 0x3BAABDE1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |