Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 14 Apr 2015 11:00:11 +0300 | From | Dan Carpenter <> | Subject | Re: [PATCH v2 10/21] staging: rtl8192e: replace memcpy() -> ether_addr_copy_unaligned() |
| |
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
| ![\](/images/icornerr.gif) |