Messages in this thread | | | Date | Mon, 6 Jan 2014 10:09:20 +0100 (CET) | From | Julia Lawall <> | Subject | Re: [PATCH 4/11] use ether_addr_equal_64bits |
| |
On Mon, 6 Jan 2014, Johannes Berg wrote:
> On Tue, 2013-12-31 at 17:40 +0100, Julia Lawall wrote: > > > > If nothing else, then some run-time code that calculates the offset off > > > and asserts if it is broken in module initialization or similar might > > > be good enough. > > > > Could be OK. Something right in or after the structure declaration would > > be nicest. > > I don't think you can put a BUILD_BUG_ON() into the structure > declaration (it's code, not declarations), but I think you could just > put > > BUILD_BUG_ON(sizeof(struct foo) - offsetof(struct foo, addr) < 8); > > with the user(s?) and that should catch the scenario I was worrying > about?
OK, thanks. That is what I had in mind. But I was hoping to be able to put it with the structure. Perhaps there is a way to make a macro that expands to a dummy function that contains the BUILD_BUG_ON? But I guess that would waste space?
I think that 8 should be 16?
julia
| |