Re: [PATCH 1/1] net/wireless/ibss.c: replace memcpy by ether_addr_copy

From: Johannes Berg
Date: Mon May 12 2014 - 14:52:13 EST


On Mon, 2014-05-12 at 11:07 -0700, Joe Perches wrote:
> On Mon, 2014-05-12 at 20:00 +0200, Fabian Frederick wrote:
> > On Mon, 12 May 2014 10:50:25 -0700
> > Joe Perches <joe@xxxxxxxxxxx> wrote:
> >
> > > On Mon, 2014-05-12 at 19:30 +0200, Fabian Frederick wrote:
> > > > This patch also fixes some comment checkpatch warnings
> > >
> > > Hello Fabian.
> > >
> > > For all the patches that replace memcpy(foo, bar, ETH_ALEN)
> > > with ether_addr_copy, did you use a tool to verify both
> > > arguments are __aligned(2) or did you do the verification
> > > visually?
> >
> > Hello Joe,
> >
> > I only replaced ETH_ALEN/memcpy .
> > AFAICS ETH_ALEN is defined 6 ...
>
> The difference here is that both arguments to
> ether_addr_copy, like all the is_<foo>_ether_addr
> helpers, must be __aligned(2). memcpy has
> no alignment requirement.
>
> Please verify that all these changes are to
> __aligned(2) arguments.

Seriously though, who cares. Only two of these patches really touch
paths where performance matters - and one of those is the lib80211 one
which is practically only used for certain ancient Intel devices, which
probably don't run on anything but IA where I'd guess the whole thing
doesn't really matter anyway.

I certainly don't see the benefit in changing all those other files,
particularly since it's not just that we have to verify alignment *now*,
we also have to add alignment attributes so that we don't break
alignment in the future.

Additionally doesn't even really save much typing:

memcpy(x, y, ETH_ALEN);
ether_addr_copy(x, y);

Finally, some of these patches are doing comment reformatting, which
clearly is out of scope for them.

As a consequence, I'm considering the net/wireless/util.c one, but none
of the others.

johannes

--
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/