On 11.05.2015 10:26, Dan Carpenter wrote: (...) >> */ >> skb_pull(sub_skb, SNAP_SIZE); >> - memcpy(skb_push(sub_skb, ETH_ALEN), prxb->src, >> ETH_ALEN); >> - memcpy(skb_push(sub_skb, ETH_ALEN), prxb->dst, >> ETH_ALEN); >> + memcpy(skb_push(sub_skb, ETH_ALEN), prxb->src, >> + ETH_ALEN); /* Must be unaligned */ > > > Which part isn't aligned? I think they both are. > struct rtllib_rxb *prxb = prxbIndicateArray[j];
struct rtllib_rxb { u8 nr_subframes; struct sk_buff *subframes[MAX_SUBFRAME_COUNT == 64]; u8 dst[ETH_ALEN]; // here u8 src[ETH_ALEN]; // here } __packed; Either I forgot alignment / packing rules or this fields are never aligned "by design". If I remember correctly - I missed it in the first version as well, but then added BUG into ether_addr_copy(). Regards, Mateusz -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/