On Wed, 2016-08-31 at 09:32 -0700, Greg Rose wrote: > I'm not sure why this hasn't been done before because it seems obvious, > so maybe there is some reason that memcpy is used instead of > ether_addr_copy in this code. But let's try this anyway. > > Change memcpy to ether_addr_copy.
... > > @@ -211,7 +211,7 @@ EXPORT_SYMBOL(eth_type_trans); > int eth_header_parse(const struct sk_buff *skb, unsigned char *haddr) > { > const struct ethhdr *eth = eth_hdr(skb); > - memcpy(haddr, eth->h_source, ETH_ALEN); > + ether_addr_copy(haddr, eth->h_source); Please carefully read ether_addr_copy() comments. Not all arches are like x86