Re: [PATCH 4/11] use ether_addr_equal_64bits

Johannes Berg
2013-12-30T23:13:20Z

On Mon, 2013-12-30 at 19:57 -0200, Henrique de Moraes Holschuh wrote:
> On Mon, 30 Dec 2013, Johannes Berg wrote:
> > On Mon, 2013-12-30 at 20:58 +0100, Julia Lawall wrote:
> > > > Is there any way we could catch (sparse, or some other script?) that
> > > > struct reorganising won't break the condition needed ("within a
> > > > structure that contains at least two more bytes")?
> > >
> > > What kind of reorganizing could happen? Do you mean that the programmer
> > > might do at some time in the future, or something the compiler might do?
> >
> > I'm just thinking of a programmer, e.g. changing a struct like this:
> >
> > struct foo {
> > u8 addr[ETH_ALEN];
> > - u16 dummy;
> > };
> >
> > for example.
>
> That is easily resolved by:
>
> struct foo {
> u8 addr[ETH_ALEN];
> u16 required_padding; /* do not remove upon pain of death */
> };

That'd be a stupid waste of struct space. If anything, there should be
*only* a comment saying that at least two bytes are needed - I'd still
prefer an automated check.

johannes