On Wednesday 2020-07-29 10:04, David Laight wrote: >From: Christoph Hellwig <h...@lst.de> >> Sent: 28 July 2020 17:39 >> >> While the kernel in general is not strict aliasing safe we can trivially >> do that in sockptr_is_null without affecting code generation, so always >> check the actually assigned union member. > >Even with 'strict aliasing' gcc (at least) guarantees that >the members of a union alias each other. >It is about the only way so safely interpret a float as an int.
The only? float given; int i; memcpy(&i, &given, sizeof(i)); BUILD_BUG_ON(sizeof(i) > sizeof(given));