Re: [PATCH v3 03/33] staging: rtl8192e: Mark unaligned memcpy()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 12, 2015 at 10:00:13PM +0200, Mateusz Kulikowski wrote:
> 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".

You must have forgotten something...  Everything after the pointer is
going to be aligned sizeof(void *).

regards,
dan carpenter

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux