ng On 16-08-30 08:44 AM, Eric Dumazet wrote:
On Tue, 2016-08-30 at 07:57 -0400, Jamal Hadi Salim wrote:if (flags & SKBMOD_F_SWAPMAC) { u8 tmpaddr[ETH_ALEN]; /*XXX: I am sure we can come up with something more efficient */ ether_addr_copy(tmpaddr, eth_hdr(skb)->h_dest); ether_addr_copy(eth_hdr(skb)->h_dest, eth_hdr(skb)->h_source); ether_addr_copy(eth_hdr(skb)->h_source, tmpaddr); }While ether_addr_copy() is accepting u8 pointers, data must be aligned to u16 at least. (See comments in include/linux/etherdevice.h) Some arches/compilers might do things here that would generate a trap if tmpaddr is not aligned.
Hrm. How do you suggest dealing with this? cheers, jamal
