Re: [PATCH v2 10/21] staging: rtl8192e: replace memcpy() -> ether_addr_copy_unaligned()

From: Dan Carpenter
Date: Tue Apr 14 2015 - 04:00:37 EST


On Mon, Apr 13, 2015 at 11:47:33PM +0200, Mateusz Kulikowski wrote:
> rtl8192e driver uses memcpy() to copy hw addresses in several places.
> checkpatch.pl suggests to use ether_addr_copy(), but most of
> addresses in driver may be unaligned.

The pointer to the struct is normally aligned (or you are in trouble
anyway and can't use it like a normal pointer). Then you can calculate
the alignment of the struct member by looking at the struct.

BAReq->addr1 is part of struct rtllib_hdr_2addr. It's 4 bytes into
the struct so it's fine.

I sort of like the ether_addr_copy_unaligned() macro because it would
let us silence some checkpatch false positives because otherwise people
will eventually introduce bugs like a dripping roof leak will eventually
destroy a building. But it should be in the main kernel header with a
name like that. And also this is misleading that we are using it for
data which is aligned.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/